GPUを使用したDeepLearningの並列処理に関する質問
Mostrar comentarios más antiguos
現在,GPU(GeForce 1080-Ti)を使用したCNNによる解析を行っています.1枚のGPUで動作させていますが,高速処理のため,複数枚数(2枚以上)のGPUを考えています.どのような仕様(また,環境下)であれば,CNNの複数GPUを用いた処理が可能でしょうか.以下の環境下で動かしたいと考えています.
・Windows10環境下 ・GPU(GeForce 1080-Ti)×2枚 ・Parallel Computing Toolboxは利用可能
Respuesta aceptada
Más respuestas (1)
Joss Knight
el 6 de Jul. de 2017
Editada: Joss Knight
el 6 de Jul. de 2017
1 voto
MATLAB CNNs support any modern multi-gpu environment and it's difficult to advise. Amazon and Azure provide cloud environments of 8 and 16 Tesla K80 GPUs, while the typical 'multi-gpu system in a box' retail system would allow you to put together 4 or 8 GeForce GPUs (1080 or Titan X) and that would be equally useful for Deep Learning. If you just want to try it out, put another 1080i in your desktop, if your PCI bus can take another.
There are two bits of advice I can usefully give. Firstly, avoid setting up your multi-gpu cluster under Windows, because MATLAB's cluster model is multi-process not multi-threaded. Multi-process scales better to multiple machines, but it prevents peer-to-peer communication between GPUs on Windows, since P2P inter-process communication in CUDA is only supported on Linux (for now). It's worth pointing out that you can still use MATLAB under Windows as your client while the cluster runs under Linux.
Secondly, try to put as many GPUs as possible on the PCI bus of one machine, rather than dividing them between multiple machines. Again, this is because of peer-to-peer communication, which is essential for fast training of deep networks. Communicating between nodes on a multi-node cluster is much slower than peer communication between GPUs on the same PCI bus.
Categorías
Más información sobre Parallel and Cloud en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!