老莫

几篇务虚的文章系列之八……ZYNQ向何处去4?

0
阅读(23635)

上周末去厦门参加了Altera的大学教师会议,会上认识了几位Altera的工程师,都是我大成电的优秀学子,估计和木易师姐一般大。聊了一下关于OpenCL的话题。但由于最近已经忙得不可开交,今天只能见缝插针的说几句。

OpenCL和一般的C to H的工具是有很大不同的,其关键在于OpenCL原本是用于开放GPU这种带有并行编程特性的器件而提出的,其核心分为host和kernels两个部分,host就是在CPU上运行的代码而kernels则是在协处理器(目前是GPU)上运行的代码。因为是针对并行编程的编程语言,所以其天生就支持并行计算的特性。而不像一般的C缺乏对算法并行化的支持。因而其有一整套并行编程的开发方法和规则,从而解决了C to H里面一个最核心的问题:如何利用硬件的空间并行性,让算法并行展开的问题。这一点是长期以来各种粉墨登场的C to H的工具一直不能成为主流的主要原因。

目前OpenCL的开发还只是把FPGA版块当成GPU版块一样来开发,插在电脑上作为协处理器。因此其目前的主要用途是我在前面提到的科学计算领域而非传统的电子工程领域。根据Altera的实验数据显示,从性能上来看采用FPGA来实现和高端的GPU性能类似,从功耗上来看大概小1个数量级的样子。这套工具目前处于测试状态中,支持的板卡有限,而且需要高端的服务器级的计算机才跑得起来,其完善尚待时日。不过随着技术的进一步发展,FPGA在数据中心中作为服务器级通用加速器存在应该是马上可以预见的到的。

至于ZYNQ是否在这个领域有所作为,我不得而知。