CUDA 和 OpenCL 之前的 GPGPU
我一直在阅读有关 CUDA 和 OpenCL 的内容,并了解到在这些框架之前,开发人员只能使用 OPENGL 和 D3D 等低级 API。不幸的是我没能找到很多关于它的信息。
这是一种广泛的或商业实践,还是只是他们在研究和军事实验室中使用的东西?我确信这里有人有早期 GPGPU 编程的经验。
I've been reading about CUDA and OpenCL and have learned that before these frameworks developers could only use low level APIs like OPENGL and D3D. Unfortunately I haven't been able to find much information about it.
Was it a widespread or commercial practice or was it just something they used in research and military labs? I'm sure somebody here will have experience with earlier GPGPU programming.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在 CUDA 和 OpenCL 出现之前,有多种 GPGPU 方法,例如 Brook 和 Cg 编程语言。
There were a number of approaches to GPGPU before CUDA and OpenCL came along, e.g. the Brook and Cg programming languages.
如果你对历史感兴趣,我认为最早让人们意识到 GPGPU 是可能的论文之一是当时一些 SGI 人员在 SIGGRAPH 2000 上发表的论文“Interactive Multi-Pass Programmable Shading”。他们的想法是,他们可以将任何 RenderMan 着色语言着色器转换为一系列 OpenGL 调用(加上一些扩展)。令人惊奇的是,它根本不使用可编程着色器 - 这一切都是基于为混合方程设置正确的参数并使用许多通道。数值精度很可笑(8 或 16 位定点),但使用图形硬件进行计算的想法是存在的。
从那时起,他们可以做更奇特的每像素事情,再加上硬件的改进,很快就在 2003 年左右出现了 GPGPU 流体求解器。大约在那个时候,每个人都对这一切的巨大黑客行为感到脸红,从而导致了 CUDA 和OpenCL。
If you're interested in the history, I think one of the earliest papers that made people realize GPGPU was possible was a SIGGRAPH 2000 paper by some SGI guys at the time, "Interactive Multi-Pass Programmable Shading". The idea was that they could translate any RenderMan Shading Language shader into a sequence of OpenGL calls (plus a few extensions). The amazing part about this is that it used no programmable shaders at all - it was all based on setting the right parameters to the blending equations and using many passes. The numerical precision was laughable (8 or 16 bits fixed-point), but the idea of using graphics hardware to compute was there.
From that point, they could do fancier per-pixel things, which together with the hardware improvement quickly led to the GPGPU fluid flow solvers circa 2003. Which is about the time everyone collectively blushed at the gigantic hack it all was, leading to CUDA and OpenCL.
它主要用于研究。当然,一些 GPGPU 技术被应用于需要在屏幕上放置像素的软件和游戏,但主要是研究性的东西。
It was mostly used in research. Of course, some GPGPU techniques was applied for software which needed to put pixels on the screen and for games, but mostly it was a research thingy.