使用mpirun npx和tensorflow:X是否受gpu数量的限制?

2024-04-29 13:56:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用mpi和TensorFlow。例如,see this OpenAI baselines PPO code。它告诉我们运行以下命令:

$ mpirun -np 8 python -m baselines.ppo1.run_atari

我有一台安装了一个GPU(12GB内存)和Tensorflow 1.3.0和python3.5.3的机器。运行此代码时,出现以下错误:

^{pr2}$

(这只是错误消息的第一部分;它非常长,但我认为开始部分是需要查看的重要部分。)

但是,如果我使用mpirun -np 1运行,这个命令可以工作。在

我在网上搜索,发现一个repository from Uber,上面写着“要在一台有4个GPU的机器上运行”,我需要使用:

$ mpirun -np 4 python train.py

我只想确认一下mpirun -np X意味着X受到机器上gpu数量的限制,假设我们运行的是一个TensorFlow程序。在


Tags: 命令机器gputensorflow错误npcodethis
1条回答
网友
1楼 · 发布于 2024-04-29 13:56:19

在阅读了关于MPI的更多信息后,我可以确认是的,确实进程的数量受gpu数量的限制。理由:

  • mpirun -np X命令将运行代码的X个“副本”(但每个副本都有自己的等级)。See the documentation here。在
  • 每次运行代码都需要一个GPU
  • TensorFlow只允许一个程序同时使用一个GPU。换句话说,当python tf_program1.pypython tf_program2.py都使用TensorFlow并且需要机器上的单独GPU时,不能同时运行python tf_program1.py和{}。在

所以看起来我不得不使用一个过程。在

相关问题 更多 >