2017-09-07 18 views
1

Nvidiaウェブサイトでは、MXNetはNCCL(https://developer.nvidia.com/nccl)を使用していると主張しています。しかし、MXNetのgithubリポジトリから実際にNCCLライブラリを使用している参照は見つかりませんでした。チェイナのブログでMXNetはマルチGPU通信にNvidiaのNCCLライブラリを使用しましたか?

、彼らはまた、チェイナが原因チェイナでNCCLライブラリーの使用の4つのGPU上でMXNetよりも優れた性能を達成したと主張した。(https://chainer.org/general/2017/02/08/Performance-of-Distributed-Deep-Learning-Using-ChainerMN.html

MXNetリポジトリ内の古いポストのいくつかでは、I彼らはMXNetにNCCLライブラリを含めることの難しさについて話していたことが分かります。

私の最初の質問は、NCCLライブラリを持つMXNetのバージョンはありますか? 第2に、NCCLライブラリを使用した場合のパフォーマンスの影響(つまり、メモリ使用量が少なく、複数のGPUでの通信オーバーヘッドの低減)はどうですか?

答えて

1

現時点では、NCCLをサポートする公式リリースはありません。

1)閉鎖されたこのためのPRがありました(ここでの説明を参照:https://github.com/apache/incubator-mxnet/issues/2919)。そのコードを古いコミットに引き込むことは可能です。

2)9月10日にNCCLに関連するパフォーマンスに関するptrendx @からの引用を参照してください:ドッキングウィンドウのコンテナとして最も主要なDLフレームワークの

「DGXを支援する一環として、NVIDIAは、最適化された提供したバージョンであるMXNetのバージョンを。このDGXソフトウェアスタックの一部にはNCCLサポートがあります(このページにはMXNetがサポートされている理由が記載されています) 2月(#5521)以降、私たちは最適化を上流で行い、NCCLサポートはPRとして利用できますつまり、MXNetは実際には非常に良い通信スキームを持っており、ネットワークには非常に大きなnuがない限り、上流のMXNetにはAPIが必要であるため、

(NCCLとNVLinkによって与えられる帯域幅が必要な)パラメータの数が多い場合、MXNetのネイティブデバイスであるkvstoreを使用すると、より良い結果を得ることができます。

+0

NCCLの訂正、現在のPRはこちら:https://github.com/apache/incubator-mxnet/pull/8294 –

関連する問題