0

我正在使用 Matlab 运行 Fortran 可执行文件,使用 system() 命令。

通常我会使用可执行文件运行很多次。

有没有办法在指定的核心中运行 8 次可执行文件?

甚至在 Matlab 中同时运行实例?即它相当于打开了许多 cmd 窗口。

非常感谢。

4

2 回答 2

0

在 Microsoft Windows 上,您可以使用start命令以所需的处理器亲和性运行程序(这些是逻辑内核,因此在我的具有超线程的四核机器上,我看到 8 个 CPU)。这被指定为十六进制表示法的二进制掩码。例子:

>> system('start /affinity 1 notepad')    % (0001) CPU0
>> system('start /affinity 2 notepad')    % (0010) CPU1
>> system('start /affinity 4 notepad')    % (0100) CPU2
>> system('start /affinity 7 notepad')    % (0111) CPU0+CPU1+CPU2

请注意,默认情况下,start将运行程序并立即返回。如果你想让它一直待到它完成,你可以start /wait ...改用

于 2013-09-20T20:07:21.667 回答
0

假设您在 Windows 上,您可以坚持system()并适当地修改您的系统调用,如下所述:

https://stackoverflow.com/a/832614/2319400

于 2013-09-20T18:09:03.227 回答