高通公司读到Adreno GPU是一个 SOC 我想出了一个问题,两个内存是否相同?
如果是,是否有一些虚拟寻址,如CUDA的统一虚拟寻址(UVA)?
另外,如果不是这种情况,那么这里是否支持CUDA 6的统一内存模型?
答案 0 :(得分:1)
我认为,如果你因为含糊不清而改写你的问题,那将是最好的。在了解您的问题时,您想知道Adreno GPU是否具有任何统一内存支持和统一虚拟寻址支持。
从基础知识开始,CUDA仅是Nvidia范例,而Adreno则使用OpenCL。 OpenCL 2.0版规范支持统一内存,名称为共享虚拟内存(SVM)。规范中的3.3.3节解释了它的工作原理和约束https://www.khronos.org/registry/OpenCL/specs/opencl-2.0.pdf。我对CUDA的UVA和统一内存模型的工作原理并不了解,但在OpenCL中,您有不同的功能,从粗粒度支持到细粒度系统支持。您需要查看想要了解哪一个受支持的Adreno GPU的白皮书。
然而,根据Adreno维基百科页面https://en.wikipedia.org/wiki/Adreno,第5代Adreno GPU具有完整的OpenCL 2.0支持,这应该至少能够支持粗粒度SVM。较旧的Adreno GPU不支持共享任何地址空间指针,因此您需要在CPU和GPU地址空间之间复制数据或使用固定内存。