项目中需要使用LabVIEW控制NI FPGA board产生控制信号等,使用GPU对采集的数据进行高性能计算,因此方案之一是用Visual Studio设计基于CUDA的GPU并行计算算法代码,然后生成DLL,使用LabVIEW设计NI FPGA board控制代码并调用DLL,采用LabVIEW完成所有软件设计。
LabVIEW官网资源:
- 给出了使用CUDA的工具包:http://sine.ni.com/nips/cds/view/p/lang/zhs/nid/210829
- 使用方法简介:http://www.ni.com/white-paper/14077/zhs/ 其中包括了一个使用GPU进行FFT计算的例子,大概过程是打开GPU,初始化CUDA环境,传输数据到GPU,GPU计算,返回计算数据,释放GPU资源等。
- LabVIEW使用GPU计算社区http://forums.ni.com/t5/GPU-Computing/gp-p/5053
但是对于使用LabVIEW进行graphic方式编程,我不是十分赞同,总感觉杂乱低效,而且我还不是很会调试LabVIEW code,所以目前倾向于用Visual Studio进行CUDA程序开发,控制NI FPGA board,这样可以更好的控制底层资源,调试也很便利。等初期版本稳定后,后期再将CUDA代码生成dll,交给使用LabVIEW编程的其他同事使用。