CUDA和OpenCL出现之前的GPGPU技术

4

我一直在了解CUDA和OpenCL,了解到在这些框架之前,开发人员只能使用低级别的API,如OPENGL和D3D。不幸的是,我没有找到太多关于它的信息。

这是一个普遍的商业实践还是只是研究和军事实验室中使用的东西?我相信这里有人有早期GPGPU编程的经验。


人们仍然在使用cg或GLSL进行通用计算目的,例如在CUDA或OpenCL不可用的移动环境中。 - ther
3个回答

4

CUDA和OpenCL出现之前,有一些GPGPU的方法,例如BrookCg编程语言。


两种方法看起来都非常有用,尽管我所看到的大多数应用程序都是针对游戏的。但我仍然想知道为什么它们在其他通用计算方面不像CUDA和OpenCL那样流行。也许这与语言本身无关,而是因为人们没有看到其他类型应用的潜力。根据我所读的,与新方法相比,并没有出现像速度提升那样显著的效果,所以可能也存在技术原因(真的值得吗?)。我想我还需要继续了解它们。 - kirbuchi
1
当时的GPU缺乏灵活性,因此比当前的GPU适用范围要小得多,只适用于更小的应用子集。最近,GPU获得了更多的通用功能,CUDA和OpenCL的引入使得利用它们变得相对容易。我想CUDA确实是GPGPU应用的“关键转折点”。 - Paul R

3

它主要用于研究。当然,一些GPGPU技术被应用于需要在屏幕上放置像素和游戏的软件中,但大多数情况下它是一个研究工具。


3
如果你对历史感兴趣,我认为让人们意识到GPGPU是可能的最早的论文之一是由SGI公司在SIGGRAPH 2000上发表的《Interactive Multi-Pass Programmable Shading》。其想法是他们可以将任何RenderMan Shading Language着色器转换为OpenGL调用序列(加上几个扩展)。令人惊奇的是它根本不使用可编程着色器——全部基于设置正确的参数来进行混合方程并且使用多次通道。数值精度很低(8或16位固定点),但是利用图形硬件进行计算的想法已经存在了。
从那时起,他们可以做更多的像素级别的事情,再加上硬件改进很快导致了2003年左右的GPGPU流体流动求解器。这大概是所有人都羞愧于庞大的黑客攻击的时刻,也是CUDA和OpenCL产生的原因。

非常好!我会看一下的。 - kirbuchi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接