cuda 头文件 .cuh 私有主机函数
在 cuda 中,我们可以创建扩展名为 .cuh 的头文件,并且可以从任何地方调用这些函数,例如,
__device__ void doSomething()
{
....................
}
void doSomthingOnHost()
{
....................
}
这两个函数是公共的。如何将主机功能设置为私有?
In cuda we can create header files with .cuh extension and we can call the functions from anywhere like,
__device__ void doSomething()
{
....................
}
void doSomthingOnHost()
{
....................
}
these two functions are public. How can i make the host function to private?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我发现最适合我的是
要在此方案中使主机函数私有,只需不要将它们的原型放在标头中...如果你问我的话,这是一个不错的计划。
I find that what works best for me is to
To make host functions private in this scheme, just don't put prototypes for them in the header... a pretty neat scheme if you ask me.
严格来说,在 C++ 中没有办法将自由函数设为私有——任何可以看到函数签名的客户端都可以调用它。
相反,您可以将 doSomethingOnHost 设为某个类的私有静态成员函数:
Strictly speaking, there's no way to make a free function private in C++ -- any client which can see a function's signature can call it.
Instead, you could make
doSomethingOnHost
a private, static member function of some class: