AMD GPU(g4ad,NNv4) 에서 GPU+Tensorflow 사용 실패 (클라우드 환경에서 지원X)

<하드웨어>/GPU|2022. 1. 26. 23:56
반응형

 

AWS(g4ad)  / Azure(NNv4) 의 AMD GPU 인스턴스에서 Tensorflow + GPU 를 사용하고자 하였으나 실패했다.

이유는 클라우드 환경에서는 공식적인 ROCM을 지원하지않기 떄문

** ROCM 이 지원하는 GPU 목록 :  https://github.com/ROCm/ROCm.github.io/blob/master/hardware.md

 

 

aws g4ad 관련 => hhttps://github.com/RadeonOpenCompute/ROCm/issues/1506

azure Nnv4 관련 => https://github.com/RadeonOpenCompute/ROCm/issues/1498

 

 

** ROCM 이란? ROCM 을 설치해야하는 이유는? --------------------------------------------

ROCm은 또한 여러 프로그래밍 언어를 통합하고 다른 언어에 대한 지원을 쉽게 추가할 수 있습니다. ROCm은 공급업체별 CUDA 코드를 공급업체 중립적인 ROCm 형식으로 이식하기 위한 도구도 제공하므로 AMD 하드웨어 및 기타 하드웨어 환경에서 CUDA용으로 작성된 방대한 소스 코드를 사용할 수 있습니다. (https://www.admin-magazine.com/HPC/Articles/Discovering-ROCm)

⇒ 한마디로 기본적으로 Tensorflow에서는 정식적으로 NVDIA GPU만 지원하고 있다. 그래서 AMD사에서는 별도로 GPU 컴퓨팅을 위한 오픈 소스 소프트웨어인 ROCm을 지원한다.

------------------------------------------------------------------------------------

 

 

aws g4ad 는 ROCM 이 지원하지는 않는 AMD GPU 이고 , Azure 는 클라우드 환경에서는 지원하지않는다고 함.

 

설치과정 간단히 말하면

aws g4ad

sudo apt update
sudo apt dist-upgrade
sudo apt install libnuma-dev
sudo reboot
sudo apt install wget gnupg2
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | sudo apt-key add -
echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/3.5.1/ xenial main' | sudo tee /etc/apt/sources.list.d/rocm.list
sudo apt update
sudo apt install rocm-dkms
sudo reboot
sudo usermod -a -G video $LOGNAME
// sudo usermod -a -G render $LOGNAME    // ubuntu 20 일때만 사용함.18일때는 없어도됨
sudo reboot
rocminfo // 에러난 부분

반복적으로 나타나는 ERROR

ROCk module is NOT loaded, possibly no GPU devices Unable to open /dev/kfd read-write: No such file or directory ubuntu is member of video group hsa api call failure at: /src/rocminfo/rocminfo.cc:1142 Call returned HSA_STATUS_ERROR_OUT_OF_RESOURCES: The runtime failed to allocate the necessary resources. This error may also occur when the core runtime library needs to spawn threads or create internal OS-specific events.

 

 

azure Nvv4

sudo apt update
sudo apt dist-upgrade
sudo apt install libnuma-dev
sudo reboot
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | sudo apt-key add -
echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/4.3/ ubuntu main' | sudo tee /etc/apt/sources.list.d/rocm.list
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | sudo apt-key add -
sudo apt update
sudo usermod -a -G video $LOGNAME
sudo apt install rocm-dkms && sudo reboot
/opt/rocm/bin/rocminfo   // 에러 발생지점
/opt/rocm/opencl/bin/clinfo

반복적으로 나타나는 ERROR

ROCk module is NOT loaded, possibly no GPU devices

 

 

정말 많이 뒤져서 여러가지 버전과 다른 GPU 에서 시도한방법들도 전부 시도해보았으나, 모두 에러로 끝났다.

만약 클라우드 AMD 환경에서 GPU를 사용해서 tensorflow를 성공적으로 돌린 케이스가 있다면 댓글로 알려주신다면 감사합니다.♥️

 

 

 

반응형

댓글()