|
|
1
7
问题是Matlab如何影响你的应用程序的行为,因为它是一个独立的过程。我怀疑Matlab修改环境变量的方式会影响到OMP,可能是因为它在内部使用了OMP,而您从Matlab生成的过程继承了这个修改后的环境。 在启动app plain的命令窗口中执行“set>plain.txt”,在matlab中执行“system('set>from_matlab.txt')”并对输出进行比较。这将向您展示matlab引入的环境变量的差异。当我这样做时,它会出现在继承自Matlab的环境中,但不会出现在纯命令窗口的环境中。
这看起来像是与问题中的函数调用相关的OpenMP设置。我敢打赌你的衍生应用程序看到了这一点并尊重它。 我不知道Matlab为什么要设置它。但作为一种解决方法,当您从matlab启动应用程序时,不要直接调用它,而是调用一个wrapper.bat文件,该文件清除omp num_threads环境变量,或将其设置为更大的数字。 |
|
|
2
1
在matlab之外运行该命令,看看它使用了多少内核。在Matlab中运行它应该没有区别,因为它只是对操作系统的一个调用。也就是说,相当于在命令行上运行。
编辑
Ok Odd,当您调用
|
|
|
3
0
必须在matlab命令行中执行:
如果您想使用4个线程。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |