python将输入三维数组进行MPI并行

我从外部导入进去的三维数组如下

u=loadtxt("u_fla.dat", dtype=float, unpack=True)

v=loadtxt("v_fla.dat", dtype=float, unpack=True)

w=loadtxt("w_fla.dat", dtype=float, unpack=True)

u1=u.reshape(256,256,256)

v1=v.reshape(256,256,256)

w1=w.reshape(256,256,256)

2.程序内部的速度U,V,W已经按照x方向利用切片分快了,我需要将导入数组对应CPU分块

先要确认使用多少个核心(假如14核心,256节点)并行计算,并输出每个核心在x方向上的上下限

if (0<=comm_rank<=3):

     i=comm_rank*19

     j=(comm_rank+1)*19

     U[0]=u1[i:j,:,:]

     U[1]=v1[i:j,:,:]

     U[2]=w1[i:j,:,:]

elif (4<=comm_rank<=13):

      a=comm_rank*18+4

      b=(comm_rank+1)*18+4

      U[0]=u1[a:b,:,:]

      U[1]=v1[a:b,:,:]

      U[2]=w1[a:b,:,:]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。