CUDAが利用可能であることを確認し、利用可能であれば環境変数を設定する方法はありますか?

CUDAが利用可能であることを確認し、利用可能であれば環境変数を設定する方法はありますか?

機械学習のためのPythonプログラムがあります。シェルスクリプトを使用して実行したり、CUDA_VISIBLE_DEVICESNVIDIA GPUを使用するように環境変数を設定したりすることもあります。

CUDAがインストールされていないM1 MacBookで同じプログラムを実行したいと思います。 CUDAをインストールするかどうかに応じて環境変数を設定する方法はありますか?

CUDAが(Linux上で)利用可能であることを確認する一般的な方法は、nvcc --versionCUDAが有効な出力を返すときにインストールされます。私は次のことを考えています:

if "nvcc --version":
    export CUDA_VISIBLE_DEVICES=0

答え1

Bashスクリプトでは、構文は次のとおりです。

if nvcc --version
then
  export CUDA_VISIBLE_DEVICES=0
fi

またはより短く:

nvcc --version && export CUDA_VISIBLE_DEVICES=0

どちらもnvcc --version出力の妥当性を確認せずにコマンドの終了状態をテストします。

関連情報