RTX30シリーズで nvcc fatal : Value ‘sm_86’ is not defined for option ‘gpu-architecture’

RTX3090でTensorflowを使おうとした所、表題のエラー。

nvcc fatal : Value 'sm_86' is not defined for option 'gpu-architecture'

gpu-architectureは文字通りGPUのアーキテクチャを表し、VoltaやPascalなどを指し示す。

GPUごとに固有の値が決まっており、例えばRTX2080はsm_75で、GTX1080はsm_61となる。

そして、エラーで表示されたsm_86は新しく発売されたRTX3090/3080を示す。

実行環境はRTX30シリーズに対応した新しいCUDAやドライバーを入れておらず、古いままの環境で新しいGPUを動かそうとしたのが原因。

NVIDIA DRIVER 455.23.04とCUDA11.1を入れ、Dockerから最新のNGCコンテナを手に入れることでRTX30シリーズでTensorflowを動かすことが出来るようになった。

docker pull nvcr.io/nvidia/tensorflow:20.10-tf2-py3

参考

NVIDIA RTX 2080: nvcc fatal : Value 'sm_75' is not defined for option 'gpu-architecture'
A user reported the following error: Traceback (most recent call last): File "cryosparc2_worker/cryosparc2_compute/run.py", line 78, in cryosparc2_compute.ru...
Matching CUDA arch and CUDA gencode for various NVIDIA architectures - Arnon Shimoni
This guide lists the various supported nvcc cuda gencode and cuda arch flags that can be used to compile your GPU code for several different GPUs

コメント

タイトルとURLをコピーしました