Fedora 36でCudaツールキットnvcc 11.7.1を使用する方法は?

Fedora 36でCudaツールキットnvcc 11.7.1を使用する方法は?

2022年9月現在、NvidiaはFedora 36でcudaツールキットを正式にサポートしていません。欠落している特定の部分は、Fedora 36がデフォルトでサポートしているgcc12のサポートです。 Fedoraでnvccを使用する1つの解決策はFedoraミラーそしてFedora 35をダウンロードしてください。しかし、知りたいです。Fedora 36でnvccを操作する方法

cudaにはRPM fusion Wikiページがあります。、一部の情報はまだ見つけるのが少し難しいです。

Fedora 35 クーダストア必要なすべての書類を作成して含めます。しかし、(2022年9月現在)Fedora 36 nvidia cuda repoと同じ存在するが不完全に見える、特に.で始まるrpmファイルはありませんcuda-11...

ベストアンサー1

2024年4月の更新:

Fedora 39 は正式に Cuda 12 ツールキットをサポートしています。私はcondaを使用してインストールすることを好みます。 nvidiaには公式のcondaパッケージがあります。 (私が好むのは、rpmfusionを介してインストールされたnvidiaドライバに触れたくないからです。

したがって、Fedoraがバージョン40になるまで、以下の手順に従う必要はありません。それ以降、Cudaは数ヶ月間正式にサポートされなくなる可能性があります。

2023年8月に更新されました:

質問を投稿して約1年が経ちましたが、現在最新のFedora 38にはgcc13があり、Nvidiaがサポートする最新のcudaツールキットはgcc12を含むFedora 37です。上記の手順はまだ機能していますが、CLionを使用するときにさらにコンテキストを追加したいと思います。

Jetbrains ドキュメントCLionでCMAKE設定を編集することをお勧めしますが、まったく機能しませんでした。代わりに私に効果があったのは、次を ~/.bash_profile (ターミナルにのみ該当すると思ったので .bashrc ではない) に入れてからログアウトしてから再度ログインすることでした。

PATH="$PATH:/usr/local/cuda/bin"
CUDAHOSTCXX='/home/linuxbrew/.linuxbrew/bin/g++-12'; export CUDAHOSTCXX

rpmリポジトリメソッドを使用する代わりに、ローカル実行可能ファイルを使用してCuda Toolkit 12.2をインストールしました。これは、パッケージの非互換性に関する恐ろしいメッセージが表示されたためです。実行可能ファイルを実行するとき、彼らが提供する小さなコマンドラインGUIで「ドライバのインストール」を選択解除したことを確認しました(これは「Low Graphics」モードのDebianインストーラに似ています)。これにより、私がインストールしたrpmfusion akmod nvidiaドライバがクラッシュすることはありません。

元の答え:

まず、Fedora 36をインストールし、リクエストに応じてサードパーティのリポジトリを有効にすることを選択します。

それから(RPM Fusion NVIDIA ハウツーページ):

sudo dnf install akmod-nvidia
sudo dnf install xorg-x11-drv-nvidia-cuda

modinfo -F version nvidia次に、エラーではなく出力が出るまで1〜2分待ちます。

次に、再起動これにより、NvidiaドライバはNouveauよりもうまく機能します。それから(RPM cuda fusion Howto ページ):

sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/fedora35/x86_64/cuda-fedora35.repo
sudo dnf clean all
sudo dnf module disable nvidia-driver
sudo dnf -y install cuda

最初の行の35は意図的なものです。しかもmodule disableラインはいいえインストールしたばかりの既存のakmod nvidiaドライバを無効にし、代わりに次の行で既存のドライバの上にNvidiaのdkmsドライバをインストールしないようにします。

その後/usr/local/cuda/bin/nvccは機能しますが、.cuファイルで実行しようとすると「gcc 12はサポートされていません」というメッセージが表示されます。これを無視して続行するように指示しますが、この警告を削除するには、次の手順を実行してgcc-11をすばやく取得できます。このredditスレッドでコメント

まず、ホームブレーキの取り付け適切な指示に従ってください。私はデフォルトの場所をそのまま使用しましたが、/home/linuxbrew必要に応じてホームディレクトリなどのカスタムの場所にインストールすることもできます。それではbrew install gcc@11。最後に、nvccにflagを使用してgcc-11を直接使用するように指示すると、nvccは苦情なく動作します。-ccbin例:

/usr/local/cuda/bin/nvcc -ccbin g++-11 foo.cu -o foo

何らかの理由でBrewのgcc-11がデフォルトパスを汚染したくない場合は、環境変数を使用してnvccに常にBrewのgcc-11を使用するように明示的に指示できます。たとえば、次のように入力して~/bash_profileログアウトしてログインします。

export NVCC_PREPEND_FLAGS='-ccbin /home/linuxbrew/.linuxbrew/bin/g++-11'

おすすめ記事