LabVIEW 禁止其他可多核心处理的应用程序在所有核心上执行
LabVIEW 禁止其他可多核心处理的应用程序在所有核心上执行
在安装完 LabVIEW 之后,一些应用程序只能在一个核心上执行,而在安装之前,应用程序可以在多个核心上跑。 不论是否打开 LabVIEW 都会发生相同的情形。 请问这是什么状况,并且该如何解决?
解答:在安装 LabVIEW 的时候,安装文件会去设定一个 Windows 环境变量(environment variable),叫作 MKL_SERIAL,将其设为 YES 。 这是一个 Intel Math Kernel Library 的设定,会使得这个 library 以序列(serial)的方式执行。 LabVIEW 本身就有多执行绪(multithreading)的功能,并且一定要将 MKL_SERIAL 设为 YES 以用来将各个执行绪送至这个 library 中。
![](https://img-blog.csdnimg.cn/img_convert/3076fc1053f624cad505f9d6b84706be.png)
编辑
添加图片注释,不超过 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)
相关文章
- 仓库"降本"可执行手册
- rabbitmq异步处理_怎么解决js异步方法执行顺序
- 【开发环境】Android 命令行中执行 Java 程序 ( IntelliJ IDEA 中创建 Java / Kotlin 工程 | dx 打包 DEX 字节码文件 | dalvikvm 命令 )
- 快速执行Oracle SQL文件的姿势(oracle执行sql文件)
- 开启Linux世界之门:执行sh文件(linux执行sh文件)
- 还能回国吗?贾跃亭已累计被执行总额超90亿
- Oracle精准执行文件的正确方法(oracle执行文件)
- Zabbix去执行远程命令
- Linux 循环执行指南,让你的代码更高效(linux循环执行)
- Linux 运行自动任务:解放双手的脚本之路(linux 自动执行脚本)
- CMD中使用MySQL轻松6步(cmd如何执行mysql)
- innerHTML在MozillaFirefox和Opera下执行的一个特例情况。
- PHP一个页面执行时间类代码
- ScriptControl控件执行自定义VBS脚本示例分析
- oracle单库彻底删除干净的执行步骤