我试着使用__CUDA_ARCH__
,但我在某个地方读到,这只适用于代码的设备部分。之后,我在github:链接上看到了下面的代码
有什么更好的方法来实现这一点吗?
我之所以问这个问题,是因为我想确定(在主机代码上) GPU是否支持统一内存,在这种情况下,会发生cudaMallocManaged或cudaMallocs && cudaMemcpys。
我想要做的事情的例子:
int main() {
// IF CUDA >= 6.0 && COMPUTE CAPABILITY >= 3.0
// USE cudaMallocManaged
// ELSE
// USE cudaMallocs && cudaMemcpys
// END IF
return 0;
}
发布于 2017-11-21 13:50:31
这里似乎涉及两个问题:
cudaMallocManaged
之前测试对托管内存的支持。deviceQuery
code示例代码指示运行时测试功能的通用方法(例如使用cudaGetDeviceProperties
,测试managedMemSupported
属性)。https://stackoverflow.com/questions/47412128
复制相似问题