Eri*_*ric 12
使用Cg或GLSL进行GPGPU的日子已经快结束了.但是,它们大量用于3D图形,并且在可预见的未来将继续以这种方式使用.GLSL和Cg仅用于科学计算,因为它们是城里唯一的游戏.在GPU上没有其他替代方法可以进行通用计算.
现在将GLSL用于GPGPU的唯一真正原因是与平台无关.如果你绝对必须能够在各种GPU上运行你的软件,那么现在仍然是可行的方法.不过,OpenCL将在不久的将来改变这种状况.
科学计算正在转向CUDA和OpenCL这样的事情的原因很多.这些库使您可以更好地访问GPU硬件,并提供更多关于性能瓶颈的透明度.这样可以更轻松地从GPU获得最大性能.CUDA和OpenCL还提供了GLSL或Cg中根本没有的功能(例如共享内存),但对于在许多算法(例如矩阵转置)中获得良好性能至关重要.另一个原因是CUDA和OpenCL允许您访问GPU而无需图形上下文,这使您可以远程使用计算机的GPU进行计算.