HPCWire网站在 2008年12月刊登了一片关于开发者工具的文章Heterogeneous Compilers Ready for Takeoff ,主要讲GPGPU 平台上开发者工具的第二次浪潮,代表是PGI和CAPS的工具,可以让C和Fortran程序员利用GPU加速。作者认为第一次浪潮是以NVIDIA的 CUDA和AMD的Brook+为代表。这里不用去争论这两次浪潮的分界线是否合理,关键是看对于开发者工具来说又有什么新玩意,以及究竟新不新。
有很多应用(比如视频处理,信号处理,石油勘探软件等),GPU比CPU呈现更好的性能和可扩展性,但是为GPU编程并不容易。比如NVIDIA GeForce 8800包含128个处理器,可以同时运行1000多个线程,如何让开发者编程来更好的利用并行是个难题。NVIDIA设计了CUDA模型来简化GPU编 程,提高生产力,但是开发者仍然要熟悉GPU硬件的线程模型以及底层设备的管理。OpenCL 是苹果公司在 2008年提出的用于在异构平台上进行并行编程的开放标准,NVIDIA和AMD公司的GPU产品都提供了符合OpenCL标准的API。但是这些编程接 口仍然比较底层,目前一些新的语言对CUDA和OpenCL进行了高层抽象,以隐藏硬件底层细节。