如何创建及谐调支持多核的LabVIEW x86客户DLL
Intel 编译器同时支持OpenMP 这个基于pragma 的标准,用于实现应用代码的并行化。
本文引用地址:http://www.amcfsurvey.com/article/94541.htm测量性能
本范例中我们采用Win32 API 的定时函数,并将定时计算嵌入外部代码。计算时间在LabVIEW 应用GUI 中显示。
作为备选,我们还可采用LabVIEW的定时工具,或采用外部工具,如Intel VTune 性能分析器。
VTune能够监测许多不同种类的构架事件。VTune调谐助手能够给出如何更好使用这些事件的建议。
结论
不同开关的优化结果在表3 中列出。我们在双核PC 上运行,并通过默认优化(/O2)作为基准来计算提速。
表3.不同优化方式下的速度提高
在应用自动向量化时可达到2.5倍速,该优化专用于非多核处理器,可用于目前多数CPU。
在应用自动并行化后可实现接近2 倍的提速。结合两种优化更可达到4.6 倍。
以上结果是在不修改源代码的前提下实现的。尽管我们选择了模拟应用(计算Pi值),但这类优化技术能够用于各类实际应用。从Intel编译器用户反馈中了解到,使用这些优化方式可显著提高代码执行速度。
评论