2016年3月15日 物联网

在Altera CycloneV SoC上使用OpenCL硬件加速VxWorks

作者:Ka Kay Achacoso

KaKay照片

随着设备变得更小、更轻、更智能,一些嵌入式设备需要以硬实时速度执行高性能计算。小型轻量设备通过集合算法运行大量数据,包括自动泊车感知周围环境,运行飞行控制系统的无人机,拥有严格控制系统的机器人手臂,甚至运行搜索算法的移动设备,计算地图信息,或处理金融数据。

Wind River与Altera合作,提供可配置的算法硬件加速VxWorks实时操作系统。Altera基于arm的Cyclone V SoC包含一个FPGA,可配置为在多个并行硬件计算中运行数据处理算法。这样做的优点是加速计算以满足实时需求,并从主处理器中卸载处理,从而释放CPU来运行其他实时应用程序。

我试用了带有FPGA支持的Altera CycloneV SoC开发工具包的最新VxWorks来比较硬件计算和软件计算。Altera为我提供了一个作为OpenCL引擎的FPGA配置。对于一个计算密集的算法,我使用Mandelbrot序列在不同的放大倍数下计算。算法的结果通过Altera SoC开发工具包的SDi输出显示。我的实验计算了1210 x 860像素区域的地图像素。

在硬件模式下,计算在FPGA中执行,结果返回给CPU显示。在软件模式下,CPU自己执行计算。

我可以看到两种操作模式之间的显著差异。你可以从这里看到结果视频

为了便于比较,我增加了一个图形用户界面,便于在硬件计算模式和软件计算模式之间进行切换。VxWorks提供图形小部件,如按钮和滚动条,作为用户界面的一部分,为需要与人进行某种图形交互的设备提供。你可以在特色图像中看到结果界面。

在硬件模式下,在50K放大时,设备可以计算每秒3.3帧。在软件模式下,计算下降到每秒0.10帧。硬件加速提供了20 - 30倍的计算速度。这种增长显示了将计算通过FPGA作为并行硬件处理的优势。

以前的软件驱动的列车控制和轨道管理
下一个HIMSS 2016和特别团队