我是一名使用CUDA进行数值积分的数学家.我的理解是每个Nvidia流多处理器都有8个CUDA核心.所以对我来说,每个块使用超过8个线程似乎没有任何好处.但是,当我运行我的代码时,通过每块使用32个线程而不是每个块8个线程,我获得了巨大的性能提升.
另外我注意到使用超过12个块有很大的收益(即使我的卡只有12个流多处理器).
是否有一个原因?
假设我有一个功能
void myFun(int*)
Run Code Online (Sandbox Code Playgroud) 在C++中,以下是什么意思
( void(*)(void*) )&myFun
Run Code Online (Sandbox Code Playgroud)
它是一个指向函数的指针,它接受一个(void*)
参数并返回一个void
?允许这种类型的演员吗?