parallel.gpu.enableCUDAForwardCompatibility
GPU デバイスの上位互換性のクエリと設定
説明
は、GPU デバイスの上位互換性が有効な場合は tf = parallel.gpu.enableCUDAForwardCompatibilitytrue を、そうでない場合は false を返します。既定値は false です。
上位互換性が無効な場合は、使用している MATLAB® のバージョンの構築後にリリースされたアーキテクチャをもつ GPU デバイスを使用して計算を実行することはできません。
parallel.gpu.enableCUDAForwardCompatibility( は GPU デバイスの上位互換性を有効または無効にします。tf)tf は true (1) または false (0) でなければなりません。
上位互換性を有効にすると、MATLAB で新しいコードを初めて GPU 上で実行したときに、ドライバーによってライブラリが再コンパイルされている間に、短い遅延が発生します。
有効にした上位互換性は、MATLAB のセッション間で維持されません。
例
入力引数
GPU デバイスの上位互換性
メモ
R2020b 以降、GPU デバイスの上位互換性は既定では無効になっています。
R2020a 以前のリリースでは、GPU デバイスの上位互換性を無効にすることはできません。
使用している MATLAB のバージョンより後にリリースされたアーキテクチャをもつ GPU デバイスを使用するには、上位互換性を有効にします。
上位互換性を有効にすると、MATLAB で新しいコードを初めて GPU 上で実行したときに、ドライバーによってライブラリが再コンパイルされている間に、短い遅延が発生します。このような遅延の再発を防ぐには、CUDA® のキャッシュ サイズを増やします。CUDA のキャッシュ サイズを増やす手順については、CUDA のキャッシュ サイズの増加を参照してください。
注意
上位互換性を有効にした結果、GPU 計算中に間違った解が得られる場合や、予期せぬ動作が発生する場合があります。
デバイス ライブラリの再コンパイルの成功度は、デバイス アーキテクチャおよび MATLAB で使用している CUDA によって異なります。場合によっては、上位互換性が期待どおりに機能せず、ライブラリの再コンパイルがエラーになります。
たとえば、CUDA Version 10.0–10.2 (MATLAB Version R2019a、R2019b、R2020a、R2020b) から Ampere (Compute Capability 8.x) への上位互換性は機能が限られています。
GPU デバイスの上位互換性の有効化
次のいずれかの方法を使用して GPU デバイスの上位互換性を有効にできます。
関数
parallel.gpu.enableCUDAForwardCompatibilityを使用します。この関数を使用する場合、上位互換性は MATLAB のセッション間で維持されません。MATLAB の起動時に上位互換性を自動的に有効にするには、startupスクリプトで関数parallel.gpu.enableCUDAForwardCompatibilityを呼び出します。環境変数
MW_CUDA_FORWARD_COMPATIBILITYを1に設定します。この設定では、上位互換性が MATLAB のセッション間で維持されます。MATLAB の実行中に環境変数を変更する場合、効果を確認するには MATLAB を再起動しなければなりません。
CUDA のキャッシュ サイズの増加
CUDA のキャッシュ サイズを増やすには、環境変数 CUDA_CACHE_MAXSIZE を少なくとも 536870912 (512 MB) に設定します。
環境変数の設定
MATLAB クライアントで環境変数を設定するには、関数 setenv を使用します。並列ワーカーを使用している場合は、ワーカー上での環境変数の設定を参照してください。
拡張機能
バージョン履歴
R2020b で導入