为什么 AMD GCN 使用非零 NULL?

2024-02-23

这次提交 https://reviews.llvm.org/rL289252 says:

In amdgcn https://en.wikipedia.org/wiki/Graphics_Core_Next目标、全局、常量和通用地址空间中的空指针取值 0,但私有和本地地址空间中的空指针取值 -1。

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


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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 AMD GCN 使用非零 NULL? 的相关文章

  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 在 Mapbox iOS SDK 中将地图移动到标记下

    我是 MapBox iOS SDK 的新手 我需要在 MGLMapView 的中心添加一个标记 以便用户能够在标记下移动地图视图 并且标记将固定在屏幕上 我还需要获取地图中标记下方的点的坐标 我在 Mapbox SDK 中找不到任何方法 我
  • 是什么导致 PDO 错误 当其他未缓冲的查询处于活动状态时无法执行查询?

    我有以下代码 dbh new PDO mysql host host dbname dbname user pass dbh gt setAttribute PDO ATTR EMULATE PREPARES false dbh gt se
  • 使用 java11 运行 javafx 应用程序时出现“java.lang.RuntimeException:未找到工具包”错误

    我们最近从 java 8 迁移到 openJdk11 现在我尝试使用安装在两个操作系统上的 openJdk 在 Windows 和 ubuntu 上测试我的应用程序 我可以在ubuntu上运行它 但在 windows10 中 java11
  • RTTI.TRttiIndexedProperty 向后移植到 Delphi XE

    Facts 成功的独立努力带来Rtti TV虚拟接口Delphi XE2 中引入到以前的 Delphi 版本分别是由 文森特 帕雷特在Delphi Mocks VirtualInterface unit 德尔福模拟 https github
  • 在Python中计算.TIF文件的总页数

    我试图让 Python 准确读取 TIF 中有多少页 并且我从昨天获得的一些帮助中修改了一些代码 我已经让 Python 读取 TIF 文件并输出页面 但它只读取它能找到的第一个 TIF 文件 我需要它来浏览同一位置的所有 TIF 文件 我
  • 默认参数装饰器 python

    Python 3 6 我正在尝试创建一个装饰器 自动将参数的字符串指定为默认值 such as def example one one two two three three pass 相当于 DefaultArguments def ex
  • 如何使用 Clang 编码生成未使用的声明? [复制]

    这个问题在这里已经有答案了 我正在寻找代码生成一个llvm Module来自一些 C 代码 具体来说 我将混合 Clang 生成的代码和其他来源的代码 不幸的是 铿锵CodeGenModule如果存在使用它的定义 类似乎坚持只在模块中生成声
  • YouTube 数据 API:每日请求量一天内从 270 万增至 4300 万

    我开始看到 404 每日配额突然达到 因此我转到 API 控制台检查日志 我发现就在今天 我从 API 密钥收到了 4300 万个请求 而日平均请求数约为 250 万个 这是否意味着有人正在使用我的 API 密钥进行恶意操作 我该如何调查这
  • D3 树布局使用 NodeSize 分隔节点

    现在我正在尝试分离我的矩形节点 因为它们重叠 如下图所示 我看了一下 发现D3提供了一个nodeSize https github com mbostock d3 wiki Tree Layout wiki nodeSize and 分离
  • 如何让谷歌地图再次请求位置权限?

    我在移动网络应用程序中使用 Google 地图 但我注意到 有时当地图提示位置权限时 用户会意外点击 拒绝 而不是 允许 并且他们需要重新加载页面才能正确定位 有没有一种方法 即让用户可以触发一些 JS 调用 例如通过点击按钮来更改他们对授
  • 通过react router的 组件在新选项卡中打开

    React Router Link 组件接收target blank 在新选项卡中打开页面 有没有办法对重定向组件执行相同的操作 我的组件的设置方式 我无法换行Link围绕有问题的组件 组件上有一个按钮 单击它也会重定向 我不想要 这就是我
  • Android PDF 查看器库或 muPDF 库教程

    我正在尝试在我的 Android 应用程序中阅读 pdf 文件 我不想使用默认的 pdf 阅读器而只是打开一个新意图 因为我需要自己的 GUI 并且想使用第一页作为封面 因此我需要制作自己的pdf阅读器 我做了一些研究并发现了 muPDF
  • Python 3 中嵌套 For 循环的最大深度是多少? [复制]

    这个问题在这里已经有答案了 我想知道是否存在这样的 水平 我知道 C 中的限制是 127 但我找不到任何有关 Python 的信息 例如 for True level 0 for True level 1 for True level ma
  • 测试抽象类具体方法

    我将如何设计和组织抽象类的具体方法的测试 特别是在 NET 中 您必须创建一个子类来实现抽象方法 带有空方法 但不实现任何具体方法 该子类应该仅用于测试 它不应该进入您的生产代码 只需忽略单元测试中被重写的抽象方法并专注于具体方法即可
  • 在 jenkins 插件中正确设置 sonar.sources

    我正在尝试建立一个安卓java项目分支 feature Fprototype app 我收到此错误 INFO 13 38 36 470 Base dir Users Shared Jenkins Home jobs Textify work
  • 打开信息活动而不关闭主活动

    我正在制作一个简单的 Android 应用程序 有两个活动 一个 MainActivity 和一个 InfoActivity 我的 ActionBar 上有一个按钮 单击后我想打开我的 InfoActivity 在我的 InfoActivi
  • Eclipse 热代码替换失败 - 重新发布 Web 应用程序

    我在 Tomcat 上的 Web 应用程序中使用热插拔 Java 调试功能 在进行一些类签名更改后 我收到 热代码替换失败 Eclipse 对话框 我明白这一点 在这种情况下 我想要的是重新发布应用程序 我可以做到 并使用新部署的代码 然而
  • 后台核心数据更新

    我基本上需要在后台线程中更新核心数据而不阻塞 UI 并保存它 保存后应重新加载表视图以查看更改 所以为了做到这一点我想使用 dispatch async dispatch get global queue DISPATCH QUEUE PR
  • android 模拟器 2.2 中的相机问题

    我遇到一个问题 在 android 2 2 模拟器中 相机无法工作 它会自动关闭相机 但这个问题在android 1 5模拟器中不会发生 为什么会发生这种情况 任何机构都可以帮忙吗 这是一个已知问题 并且已被多次询问 这里有一些可能的解决方
  • 为什么 AMD GCN 使用非零 NULL?

    这次提交 https reviews llvm org rL289252 says In amdgcn https en wikipedia org wiki Graphics Core Next目标 全局 常量和通用地址空间中的空指针取值