我有一个包含1xN
元素的数组,我想使用 4 个或更多工作人员(核心)在这个数组上并行工作。每个工作人员从该数组中获取一些元素并对其进行操作。例如,worker1
将采用 3 个元素,worker2
将采用接下来的 2 个,依此类推。这些工人将并行工作。
这些工人如何才能同步良好地工作?这似乎需要多个 CPU 之间的共享内存。
我需要每个工作人员同时从该数组中读取不同大小的数据:例如:
arr=1:100; % the common array
serv1 = 3; % random numbers
serv2 = 2; % random numbers
serv3 = 1; % random numbers
serv4 = 1; % random numbers
我需要同时 worker1 读取array(1:serv1)
,worker 2 读取array(serv1+1:serv1+serv2)
,worker3 读取array(serv1+serv2+1:serv1+serv2+serv3)
等等,然后对它们进行操作