zl程序教程

您现在的位置是:首页 >  其他

当前栏目

LabVIEW 禁止其他可多核心处理的应用程序在所有核心上执行

执行应用程序 处理 所有 核心 其他 禁止 labview
2023-09-14 09:09:43 时间

LabVIEW 禁止其他可多核心处理的应用程序在所有核心上执行

在安装完 LabVIEW 之后,一些应用程序只能在一个核心上执行,而在安装之前,应用程序可以在多个核心上跑。 不论是否打开 LabVIEW 都会发生相同的情形。 请问这是什么状况,并且该如何解决?

解答:在安装 LabVIEW 的时候,安装文件会去设定一个 Windows 环境变量(environment variable),叫作 MKL_SERIAL,将其设为 YES 。 这是一个 Intel Math Kernel Library 的设定,会使得这个 library 以序列(serial)的方式执行。 LabVIEW 本身就有多执行绪(multithreading)的功能,并且一定要将 MKL_SERIAL 设为 YES 以用来将各个执行绪送至这个 library 中。

编辑

添加图片注释,不超过 140 字(可选)

这使得 LabVIEW 可以更为巧妙地产生出适合程序的线程。 Intel 在这个 library 里提供了一些多执行绪的处理,但是在许多情形之下却需要关掉这个功能,所以Intel 他们建议应用程序或是编译器自行来处理多线绪。 倘若其他的应用程序不能处理它们自己的线程,将MKL_SERIAL的值设成 YES 将会使它们受到限制,变成只能在单一核心环境上执行。 原因是这些应用程序是靠library 来处理自己的执行绪。

如果可以在运行 LabVIEW 时 MKL_SERIAL 值被设为 NO,可能会遇到内存出错以及 LabVIEW 控制线程的能力被减弱,因此不推荐在这样的设置下执行 LabVIEW 。 如果真的必须更动这个环境变量的值,请确保在运行 LabVIEW 之前将其改回为 YES 。。

更详细的内容,参加如下附件的介绍。

LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序

上文中提到的例子和资料,均在word中的附件里,可点击下载。进一步了解,可联系们。

LabVIEW 禁止其他可多核心处理的应用程序在所有核心上执行 - 北京瀚文网星科技有限公司 (bjcyck.com)