paddle V2, mpi训练,trainer_count=1速度比trainer_count大于1要快
Created by: 333caowei
版本如下: PaddlePaddle 0.14.0, compiled with with_avx: ON with_gpu: OFF with_mkl: ON with_mkldnn: ON with_double: OFF with_python: ON with_rdma: OFF with_timer: OFF
使用20个mpi节点,通过下述代码打印环境变量:
print( "PADDLE_TRAINER_COUNT %s" % os.getenv("PADDLE_TRAINER_COUNT", "1"), "PADDLE_PORT: %s" % os.getenv("PADDLE_PORT", "7164"), "PADDLE_PORTS_NUM: %s" % os.getenv("PADDLE_PORTS_NUM", "1"), "PADDLE_PORTS_NUM_FOR_SPARSE: %s" % os.getenv("PADDLE_PORTS_NUM_FOR_SPARSE", "1"), "PADDLE_NUM_GRADIENT_SERVERS: %s" % os.getenv("PADDLE_NUM_GRADIENT_SERVERS", "1"), "PADDLE_TRAINER_ID: %s" % os.getenv("PADDLE_TRAINER_ID", "0"), "PADDLE_PSERVERS : %s" % os.getenv("PADDLE_PSERVERS", "127.0.0.1") )
PADDLE_TRAINER_COUNT=1 PADDLE_PORT=1 PADDLE_PORTS_NUM=1 PADDLE_PORTS_NUM_FOR_SPARSE=1 PADDLE_NUM_GRADIENT_SERVERS=20 PADDLE_PSERVERS:有20个ip地址
通过结合训练速度以及cpu idel观察发现: 当trainer_count=1,idle约85,这时候训练速度最快 当trainer_count=28时候(机器有28个物理核),idle约70,这时候训练速度不及上面trainer_count=1 当trainer_count=56时候(机器有28个物理核),idle约50,这时候训练速度不及上面trainer_count=28
从网卡流量观察也可发现: trainer_count=1的流量>trainer_count=28的流量>trainer_count=56的流量