小编Lyn*_*ynx的帖子

如何在MATLAB上从parfor中检索变量?

我试图在MATLAB上检索我在parfor(并行)上执行的变量,但我不能.继承我的代码:

clear all
clc    
matlabpool open 4

parfor i = 1:4
    a = 2^i;
end

matlabpool close
Run Code Online (Sandbox Code Playgroud)

我希望能够恢复在不同工作人员上执行的不同值.例如,我想访问值为2 ^ 1的a(1),值为2 ^ 2的a(2),依此类推.非常感谢你!

parallel-processing matlab

2
推荐指数
1
解决办法
163
查看次数

我可以在parfor(MATLAB)上发送和接收工作人员之间的数据吗?

我想知道在执行parfor时是否可以在节点之间交换(发送和接收)数据.我想要完成的是这样的事情:

parfor i = 1:4

    %Perform a computation on each column of a 4x4 matrix on 4 different workers (each worker takes one column).

    %Make Worker #1 send its data to Worker #3, Worker #3 to Worker #1, Worker #2 ro Worker #4 and Worker #4 to Worker #2.

    %Make other computations on the data received from the other workers

end
Run Code Online (Sandbox Code Playgroud)

我想在不离开parfor的情况下执行所有这些计算.我可以使用任何MPI命令吗?这可以实现吗?如果是这样,我怎么能实现这个目标?谢谢!

parallel-processing matlab multithreading mpi parallel-for

2
推荐指数
1
解决办法
525
查看次数

awk 和 bc 哪一种对于浮点运算更有效?

我正在用 bash 编写一个系统性能脚本。我想以百分比形式计算 CPU 使用率。我有两种实现,一种使用 awk,另一种使用 bc。我想知道这两个版本哪个更有效。使用 awk 还是 bc 进行浮点计算更好?谢谢!

版本 #1(使用 bc)

CPU=$(mpstat 1 1 | grep "Average" | awk '{print $11}')
CPU=$(echo "scale=2;(100-$CPU)" | bc -l)
echo $CPU
Run Code Online (Sandbox Code Playgroud)

版本#2(使用 awk)

CPU=$(mpstat 1 1 | grep "Average" | awk '{idle = $11} {print 100 - idle}')
echo $CPU
Run Code Online (Sandbox Code Playgroud)

linux bash performance awk bc

1
推荐指数
1
解决办法
1802
查看次数