質問: nvidia の volta アーキテクチャの gpu を matlab の gpu コンピューティングの環境として使用できますか? matlab は nvidia の volta アーキテクチャをサポートしていますか。 ※ volta アーキテクチャカードは compute capability が 7.0 以上のnvidia の gpu カードです。
回答: volta アーキテクチャカードの完全なサポートは cuda バージョン 9.0 になります。 r2017b までのバージョンでは cuda 9.0 のバージョンをサポートしておらず、将来的なリリースで正式なサポートをする予定です。 もし、matlab や computer vision system toolbox で深層学習を行う場合に nvidia の volta カードを使用する場合、次の bug report をご確認ください。 ・external bug report (閲覧には mathworks account へのログインが必要です) https://www.mathworks.com/support/bugreports/1656842 デフォルトでは、volta カードを使用した場合に、'nnet:cnngpu:cudnninitfailed' の識別子を持つ次のようなエラーとなります。 error: 'failed to initialize the cudnn handle. return code was cudnn_status_internal_error.' 他の matlab の gpu 関連コードは、ランタイム上のグラフィックドライバでコンパイルされてバイトコード表現になっており、将来的なアーキテクチャに対して前方互換性があります。 r2017b がリリースされた時点では、使用可能な nvidia cuda 9.0 コンパイラがありませんでした。しかし、このランタイムコンパイルにより、パフォーマンスに影響を与える可能性があるという制限のもとサポートが提供されています。 matlab が gpu コードがもともとコンパイルされていないようなアーキテクチャを持つ gpu カードと一緒に使用された場合、バイトコードがコンパイルされてキャッシュされている間に gpu コンピューティングコマンドに1回の遅延が生じます。この遅延が繰り返されるのを防ぐためには、cuda キャッシュサイズを増やす必要があります。 この対策には、環境変数 cuda_cache_maxsize の設定を推奨します。 cuda_cache_maxsize 536870912 これにより、cuda のキャッシュサイズを私達が提案する最小値である 512mb に設定します。この値はデフォルトでは 32mb に設定されています。環境変数の変更については、以下の article をご覧ください。 ・windows において環境変数を設定するにはどうすればよいですか? https://www.mathworks.com/matlabcentral/answers/103463-windows ・documentation: setenv https://jp.mathworks.com/help/matlab/ref/setenv.html volta カードを使用して、ここに明記されていないような gpu に関連した問題が生じた場合は、テクニカルサポートにご相談ください。 https://www.mathworks.com/support/contact_us.html