现代个人计算设备拥有多个核心。为了释放它们的全部功能,应用程序必须以并行方式进行编写。在具有共享内存的系统上进行并行编程的传统方法是线程的方式。然而线程编程容易出错,并且可能容易导致数据争用和/或非确定性行为。
Kahn Process Networks(KPNs)的方法是一种避免所有这些问题的并行编程方法。 KPN程序由多个并发运行的进程组成,可以相互发送数据。因此,KPN应用程序可以描绘为图形,如图所示:
KPN的结构提供了某些属性,可以自动推理应用程序。因此,像SCADE或SLX这样的软件工具能够确定如何将应用程序的进程分发到嵌入式平台,以便获得有效的目标代码。 Accelize使用KPN从KPN模型生成高效的FPGA(现场可编程门阵列)硬件实现。
领取专属 10元无门槛券
私享最新 技术干货