- 博客(8)
- 收藏
- 关注
原创 OpenCL是否能像CPU那样直接支持指针的链表?
指针链表的灾难:链表节点在内存中是跳跃分布的。在 GPU 上,如果同一个 Warp 中的线程 A 的链表还有 10 个节点,而线程 B 的链表已经到末尾(NULL),GPU 必须串行化执行:先让 A 执行循环,B 等待;这意味着,在主机上分配的包含指针的数据结构,其指针值在 GPU 上依然是有效的,不会变成野指针。在 OpenCL 2.0 引入共享虚拟内存(SVM)后,主机(CPU)和设备(GPU)可以共享复杂的、包含指针的数据结构(如树和链表),从而消除了在主机和设备之间手动封送(拷贝)数据的需要。
2026-08-14 10:11:13
338
原创 记 对cmake交叉编译的误解,和遇到的问题
llvm有直接提供llvm_create_cross_target + build_native_tool来解决以上场景中 对tblgen native编译的问题:会在arm64的build过程中,在一个独立的构建路径下、通过预设的cmake命令、触发对native tblgen的build(通过add_custom_command做,由llvm_create_cross_target触发cmake -G ...,由build_native_tool触发cmake -build ...);
2026-05-21 18:21:37
338
1
原创 opencl3.1,相比opencl3.0有什么变化
变化维度OpenCL 3.0OpenCL 3.1核心策略以 OpenCL 1.2 为基线,2.x 特性大多为可选将成熟的 2.x/3.0 扩展功能强制整合进核心规范中间语言SPIR-V 为可选扩展强制要求支持 SPIR-V高级计算特性子组、整数点积等需查询扩展支持子组、整数点积等成为核心强制要求开发体验需大量查询设备支持的特性宏减少扩展依赖,代码更简洁,printf等更贴近标准 C总的来说,OpenCL 3.1 是一次“去碎片化”的重大更新。
2026-05-12 17:06:05
412
原创 OpenCL的image read操作,一般由采样模块(SAMPLE)负责,为什么不走MemoryRead(LOAD),是什么样的特性,限制MemoryRead操作完成image read?
这不仅占用大量指令槽和寄存器,而且无法利用硬件并行的插值电路。* **内存布局:** 为了优化 2D/3D 空间局部性,GPU 显存中的图像数据通常**不是线性存储的**,而是采用 **Tiling (分块)** 或 **Swizzling (搅乱/重排)** 格式(例如 Morton Order/Z-order)。* **例子:** `read_imagef` 即使底层图像是 8-bit 整数格式,采样器也会自动将其转换为 `float` 并**归一化**到 `0.0 ~ 1.0` 范围。
2026-03-19 09:46:58
320
原创 大模型(LLM)的Token支付问题:作为普通用户,目前还没有为Token做过支付,是谁在做支付?
生态绑定: 你习惯了某个模型,未来如果它收费,或者你需要在该生态内工作(如微软 Office 集成 AI),你就更难离开,未来付费的可能性就更大。本质: 虽然他们付的是“月费”,但本质上是购买了更高额度的 Token 使用权(比如更快的速度、更强的模型 GPT-4、更多的使用次数)。作为普通用户,你通常在网页或 App 上聊天,界面上显示的是**“对话次数”或“消息条数”**,而不是"Token 数量”。对你的影响: 企业客户的高额利润,在一定程度上补贴了面向普通用户的免费服务成本。
2026-03-04 18:06:28
812
原创 x86 cpu的寄存器个数看起来并不多,为什么一般很少出现由于变量个数过多、生命周期过长导致x86程序运行很慢的问题?
配合 CPU 的**乱序执行**和**预取(Prefetching)**,这些加载/存储指令的延迟经常被隐藏(Hidden Latency)。* **结论:** 架构寄存器少,主要限制的是**指令编码空间**和**编译器静态分配的难度**,但并不直接限制 CPU 内部同时能“在飞”(in-flight)的数据量。* **SIMD 寄存器分担压力:** 现代程序的大量计算(多媒体、科学计算、AI)使用的是 **XMM/YMM/ZMM 寄存器**(SSE/AVX 指令集)。
2026-03-04 14:54:28
342
原创 运行命令 和 字符全角半角
<br /><br />运行命令<br /> 昨天在设置程序时,不小心把画图还有写字板计算器都给删掉了(至于还删掉了什么别的我就不知道了,这几个比较常用被发现了),查了一下是C:/windows/system32下的几个程序被卸载了。分别对应如下,画图à mspaint.exe,写字板àwordpad.exe , 计算器àcalc.exe。竟然是从别的电脑上拷过来放进这个目录下就可以运行了。至于运行命令调用的什么(能够自动定位到这个文件夹下,在运行命令中常见的命令如notepad cmd mspai
2011-03-23 16:19:00
2019
原创 代理服务器等 和word上下角标 20110322
<br />代理服务器,又拔出一大堆东西<br />今天新下了两个浏览器,(不知道问什么IE这么烂,还丢不开它,会不会现在通用版本的浏览器都默认参考或调用了IE的部分功能,不知道把IE卸载了会是什么情况(发现没什么不可以的)),(原来浏览器:万维网(Web)服务的客户端浏览程序。可向万维网(Web)服务器发送各种请求,并对从服务器发来的超文本信息和各种多媒体数据格式进行解释、显示和播放。)看了下原来使用的搜狗加速浏览器是不使用代理服务器的,新下的这两个都默认使用了代理,反而不能上网了,会不会是因为用的是学习
2011-03-22 19:27:00
1167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅