Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

parallel.gpu.enableCUDAForwardCompatibility

GPU デバイスの上位互換性のクエリと設定

R2020b 以降

    説明

    tf = parallel.gpu.enableCUDAForwardCompatibility() は、GPU デバイスの上位互換性が有効な場合は true を、そうでない場合は false を返します。既定値は false です。

    上位互換性が無効な場合は、使用している MATLAB® のバージョンの構築後にリリースされたアーキテクチャをもつ GPU デバイスを使用して計算を実行することはできません。

    parallel.gpu.enableCUDAForwardCompatibility(tf) は GPU デバイスの上位互換性を有効または無効にします。tftrue (1) または false (0) でなければなりません。

    上位互換性を有効にすると、使用している MATLAB バージョンより新しいアーキテクチャをもつデバイスにはじめてアクセスしたときに、CUDA® ドライバーによって GPU ライブラリが再コンパイルされます。再コンパイルには数分かかる場合があります。

    有効にした上位互換性は、MATLAB のセッション間で維持されません。

    注意

    上位互換性を有効にした結果、GPU 計算中に間違った解が得られる場合や、予期せぬ動作が発生する場合があります。

    詳細については、GPU デバイスの上位互換性を参照してください。

    すべて折りたたむ

    使用している MATLAB のバージョンより後にリリースされたアーキテクチャをもつ GPU がある場合、既定では、その GPU を使用して MATLAB で計算を実行することはできません。その GPU を MATLAB で使用するには、GPU デバイスの上位互換性を有効にします。

    上位互換性が有効かどうかをチェックします。

    tf = parallel.gpu.enableCUDAForwardCompatibility()
    tf = 
       0
    

    上位互換性を有効にします。

    parallel.gpu.enableCUDAForwardCompatibility(1)

    GPU デバイスを選択して使用します。

    gpuDevice(2);
    A = ones(100,'gpuArray');

    MATLAB から GPU にはじめてアクセスしたときに、CUDA ドライバーによってライブラリが再コンパイルされます。再コンパイルには数分かかる場合があります。

    入力引数

    すべて折りたたむ

    設定する上位互換性のステータス。数値または logical (1 (true) または 0 (false)) として指定します。

    例: 0

    データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

    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_COMPATIBILITY1 に設定します。この設定では、上位互換性が MATLAB のセッション間で維持されます。MATLAB の実行中に環境変数を変更する場合、効果を確認するには MATLAB を再起動しなければなりません。

    CUDA のキャッシュ サイズの増加

    CUDA のキャッシュ サイズを増やすには、環境変数 CUDA_CACHE_MAXSIZE を少なくとも 536870912 (512 MB) に設定します。

    環境変数の設定

    MATLAB クライアントで環境変数を設定するには、関数 setenv を使用します。並列ワーカーを使用している場合は、ワーカー上での環境変数の設定を参照してください。

    バージョン履歴

    R2020b で導入