このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
parallel.gpu.enableCUDAForwardCompatibility
説明
は、GPU デバイスの上位互換性が有効な場合は tf
= parallel.gpu.enableCUDAForwardCompatibility()true
を、そうでない場合は false
を返します。既定値は false
です。
上位互換性が無効な場合は、使用している MATLAB® のバージョンの構築後にリリースされたアーキテクチャをもつ GPU デバイスを使用して計算を実行することはできません。
parallel.gpu.enableCUDAForwardCompatibility(
は GPU デバイスの上位互換性を有効または無効にします。tf
)tf
は true
(1
) または false
(0
) でなければなりません。
上位互換性を有効にすると、使用している MATLAB バージョンより新しいアーキテクチャをもつデバイスにはじめてアクセスしたときに、CUDA® ドライバーによって GPU ライブラリが再コンパイルされます。再コンパイルには数分かかる場合があります。
有効にした上位互換性は、MATLAB のセッション間で維持されません。
例
入力引数
GPU デバイスの上位互換性
メモ
R2020b 以降、GPU デバイスの上位互換性は既定では無効になっています。
R2020a 以前のリリースでは、GPU デバイスの上位互換性を無効にすることはできません。
使用している MATLAB のバージョンより後にリリースされたアーキテクチャをもつ GPU デバイスを使用するには、上位互換性を有効にします。
上位互換性を有効にすると、使用している MATLAB のバージョンより新しいアーキテクチャをもつデバイスにはじめてアクセスしたときに、CUDA ドライバーによって GPU ライブラリが再コンパイルされます。再コンパイルには最大で 1 時間かかります。この遅延の再発を防ぐには、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 で導入