gpt4 book ai didi

c - 为什么 AMD GCN 使用非零 NULL?

转载 作者:行者123 更新时间:2023-11-30 15:02:17 24 4
gpt4 key购买 nike

This commit说:

In amdgcn target, null pointers in global, constant, and generic address space take value 0 but null pointers in private and local address space take value -1.

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

最佳答案

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

不要忘记,NULL = 不可解引用指针 = 0 也只是常规 C 中的一个约定 - 某些非 OpenCL 系统在地址 0 处也有有效内存。关于 memset 等的标准,因此如果您对确切的规范感兴趣,您最好自己阅读该文档。

我不确定您到底要问什么“如何” - 您无法在不同 OpenCL 地址空间中的指针之间明智地进行转换,因此不存在冲突。

关于c - 为什么 AMD GCN 使用非零 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41102947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com