我想在运行时发现CUDA GPU是否支持32位或64位寻址。对于上下文,我使用LLVM在运行时生成PTX,并且需要知道是否将目标三元组设置为nvptx
或nvptx64
。
通过cuDeviceGetAttribute
似乎没有对此进行直接查询,但是是否有其他查询或启发式方法可以向我提供此信息?
答案 0 :(得分:2)
64位寻址是统一寻址工作的硬性要求。此外,所有64位寻址的NVidia GPU都支持统一寻址。因此,测试给定设备上下文是否支持统一寻址也会告知是否支持64位寻址。
使用unifiedAddressing
查询的struct cudaDevice的字段cudaGetDeviceProperties
提供了该信息。