프로그래밍/파이썬 공부

실행 프로그램의 PyTorch가 CUDA를 인식하는 것에 대해서(+ 설치법 링크)

이자다 2024. 2. 6. 23:54
반응형

얼마 전 PyTorch와 CUDA를 사용해서 GPU를 사용하는 프로그램을 실행파일로 만들어서 내 로컬 컴퓨터에서 실행에 성공하고 피시방 컴퓨터에서도 실행에 성공하였다.

 

하지만 이후 의문이 들었다.

 

내 컴퓨터야 cuda 설치가 끝났는데 피시방 컴퓨터에서는 cuda 설치를 한 적이 없다. 피시방 컴퓨터에서 nvcc 명령어도 먹히지 않았다.

 

실행 프로그램을 컴파일할 때 cuda도 같이 컴파일 된 건가 했는데 챗gpt에게 물어보니 그럴 일은 없다고 하고 관련된 내용도 찾지 못했다.

 

데이터 사이언스 톡방에 여쭤보니 nvcc만 설치되어 있지 않거나 nvcc가 cuda 경로를 인식하지 못하는 것이고, 해당 컴퓨터에 cuda는 정상적으로 설치된 상태였을 거라고 한다. 그 cuda를 실행파일의 코드가 제대로 접근해서 사용했을 거라고 한다.

 

 

 

여기서 나는 nvcc가 gpu를 사용해서 프로그램을 컴파일할 수 있는 컴파일러라는 것을 처음 알게 되었다.

 

그리고 실행 파일의 코드가 cuda에 접근하여서 정상적으로 gpu를 사용할 수 있게 된 것이라고 해서 코드를 살펴보니 어느 부분이 cuda에 정상적으로 접근한 지도 알게 되었다.

 

실행파일에 같이 컴파일 된 PyTorch가 cuda에 접근한 것이다.

 

 

 

https://stackoverflow.com/questions/48152674/how-do-i-check-if-pytorch-is-using-the-gpu

 

How do I check if PyTorch is using the GPU?

How do I check if PyTorch is using the GPU? The nvidia-smi command can detect GPU activity, but I want to check it directly from inside a Python script.

stackoverflow.com

 

흔히 PyTorch가 GPU를 사용 가능한지 체크하기 위해서는 다음과 같은 명령어를 사용한다.

>>> import torch

>>> torch.cuda.is_available()
True

>>> torch.cuda.device_count()
1

>>> torch.cuda.current_device()
0

>>> torch.cuda.device(0)
<torch.cuda.device at 0x7efce0b03be0>

>>> torch.cuda.get_device_name(0)
'GeForce GTX 950M'

 

단순히 cuda 체크 코드구나 하고 넘겼는데 애초에 이 코드 자체가 torch가 자체적으로 cuda에 접근 가능하다는 것이었다.

 

torch.cuda.is_available() 은 torch가 cuda가 사용 가능한지 체크하는 것이었고 다른 명령어들도 마찬가지다. torch가 알아서 컴퓨터의 cuda를 찾아서 사용 가능 여부 등을 체크한 것이다.

 

따라서 실행파일에 PyTorch만 제대로 설치되어 있다면 해당 PyTorch와 호횐되는 CUDA만 설치한다면 알아서 PyTorch가 CUDA에 접근하여서 GPU를 사용할 수 있다는 것이다.

 

 

실행파일에 컴파일 된 PyTorch의 버전을 명시해주고 해당 버전을 로컬 컴퓨터에 설치하도록 메뉴얼을 작성하면 다른 컴퓨터에서도 문제없이 사용 가능할 것 같다.

 

내가 사용한 pytorch는 cu121로 나오고 cuda12.1을 사용하니 해당 버전을 깔아주면 될 것 같다.

 

 

 

추가로 만약 nvcc 명령어를 사용하고 싶다면 아래 링크를 참고해 cuda 경로를 설정하면 될 것 같다. 

 

https://romillion.tistory.com/95

 

[CUDA 설치 확인] 방법 설치 확인 설치 확인 안될 때 경로설정

CUDA 설치 후 nvcc -V 위 명령어를 사용하면 cuda-toolkit을 설치하라고 나오는데 경로를 지정을 안해줘서 찾지 못해서 발생하는 문제입니다. 우선 gedit ~/.bashrc bashrc파일을 열어줍니다. //맨아래 위 두

romillion.tistory.com

 

 

 

 

CUDA 설치와 환경변수 설정에 대해서는 해당 링크에서 자세히 설명해준다.

https://data-panic.tistory.com/4

 

[Windows 10] Pytorch GPU 사용을 위한 CUDA 환경 만들기

Pytorch 사용을 위한 Cuda 환경구축에 대한 글입니다. Anaconda3를 이미 설치한 상태에서 설치를 진행했습니다. 1. 그래픽 드라이버 설치 우선 자신이 가지고 있는 GPU 그래픽 카드를 확인합니다. 그래

data-panic.tistory.com

 

반응형