首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么AMD GCN使用非零空?

为什么AMD GCN使用非零空?
EN

Stack Overflow用户
提问于 2016-12-12 14:21:25
回答 1查看 179关注 0票数 0

此承诺说:

阿姆目标中,全局、常量和通用地址空间中的空指针值为0,而私有和本地地址空间中的空指针为值-1。

他们如何使用这两个不同的NULL值?

EN

回答 1

Stack Overflow用户

发布于 2016-12-13 16:43:02

至于为什么:我不知道这是事实,但是本地/私有地址空间指针几乎肯定只是在一个平面物理寄存器文件/内存区域中作为偏移量/索引来实现。没有虚拟内存一样的地址重映射,只有一个大数组。您仍然希望能够访问数组索引0,因此“无效指针”(无效索引)需要其他的内容。

别忘了,NULL =不可取消引用指针= 0也只是普通C中的惯例-一些非OpenCL系统在地址0处也有有效内存。有关memset等的标准有一些复杂之处,所以如果您对精确的规范感兴趣,最好自己阅读文档。

我不知道您到底在问什么关于"how“--您不能明智地在不同OpenCL地址空间中的指针之间进行转换,因此没有冲突。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41102947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档