cuda가 인스톨 되었지만 너무 느립니다.

print(torch.cuda.is_available())
torch.tensor([0.12, 0.32]).cuda()

available()에서는 True가 나옵니다.
다만 .cuda()를 통하면 시간이 기본 10분이걸립니다.
구글 콜랩에서 기본 GPU로는 정말 바로 결과가 나옵니다...

그래서 작업관리자 봤더니 nvidie그래픽 카드는 점유율이 0%네요
이게 원인일까요?

위 명령어가 제 컴퓨터에서는 10분이걸리고
model = Tacotron2(hparams).cuda()

이런식으로 모델에 .cuda()가 들어가면 거의 30~40분이 더 걸리는듯합니다.

어떤게 문제일까요...?

pip install torch===1.5.0 torchvision===0.6.0 -f https://download.pytorch.org/whl/torch_stable.html
위와같은 커맨드로 설치하였고,
설치할때

조금 에러가나긴했는데
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. torchaudio 0.10.2 requires torch==1.10.2, but you have torch 1.5.0 which is incompatible. Successfully installed torch-1.5.0 torchvision-0.6.0

그래서 설치는되었다고 나왔습니다.

nvidia geforce experience 앱에서도 드라이버 설치되어있습니다.

또...결정적으로

File "./waveglow\glow.py", line 91, in forward
W_inverse = W.float().inverse()
RuntimeError: CUDA error: no kernel image is available for execution on the device

이런식으로 CUDA에러가 뜹니다.

제 그래픽 카드는 geforce 3090RTX.
python version 은 3.6입니다.

\aimodel>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Wed_Jun__2_19:25:35_Pacific_Daylight_Time_2021
Cuda compilation tools, release 11.4, V11.4.48
Build cuda_11.4.r11.4/compiler.30033411_0

  • 아래 답변은 OpenAI의 GPT-3.5(ChatGPT) 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

3090 RTX와 같은 고성능 그래픽 카드를 사용하면서도 CUDA 연산이 느린 원인은 여러 가지가 있을 수 있습니다. 몇 가지 가능성을 살펴보겠습니다.

  1. PyTorch 버전 문제: PyTorch 1.5.0은 3090 RTX를 지원하지 않을 수 있습니다. 최신 버전인 PyTorch 1.9.0을 설치해보는 것이 좋습니다. 설치 방법은 다음과 같습니다.
pip install torch torchvision torchaudio -f https://download.pytorch.org/whl/cu111/torch_stable.html
  1. CUDA 버전 문제: CUDA 11.1 이상이 3090 RTX를 지원합니다. CUDA 11.1 이하 버전을 사용하고 있다면 업그레이드해야 합니다.

  2. 드라이버 문제: 최신 드라이버를 설치했지만, 제대로 설치되지 않은 경우가 있습니다. NVIDIA 웹사이트에서 직접 드라이버를 다운로드하고 설치해보세요.

  3. 메모리 문제: 3090 RTX는 24GB의 메모리를 가지고 있습니다. 모델이 크거나 배치 사이즈가 크다면 메모리 부족으로 인해 CUDA 연산이 느려질 수 있습니다. 이 경우 배치 사이즈를 줄이거나 모델을 분할하여 처리해보세요.

  4. 다른 프로세스 문제: 다른 프로세스가 그래픽 카드를 점유하고 있거나, CPU가 바쁘게 동작하고 있다면 CUDA 연산이 느려질 수 있습니다. 작업 관리자에서 그래픽 카드와 CPU의 사용률을 확인해보세요.

  5. 코드 문제: 모델 구현이 비효율적이거나, 데이터 로딩이 느리거나, 다른 문제가 있을 수 있습니다. 코드를 최적화하거나, 다른 사람이 작성한 코드를 사용하는 경우 코드를 검토해보세요.

위의 가능성들을 고려해보고, 문제를 해결해보세요.


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!
1개의 좋아요
  • 아래 답변은 OpenAI의 GPT-4 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

먼저, PyTorch와 CUDA 버전이 호환되는지 확인해야 합니다. 현재 사용 중인 PyTorch 버전은 1.5.0이고, CUDA 버전은 11.4입니다. 그러나 PyTorch 1.5.0은 CUDA 10.2와 호환됩니다. 호환되는 버전을 설치하려면 다음 명령어를 사용하세요:

pip install torch==1.5.0+cu102 torchvision==0.6.0+cu102 -f https://download.pytorch.org/whl/cu102/torch_stable.html

또한, torchaudio와의 호환성 문제도 있습니다. torchaudio 0.10.2는 PyTorch 1.10.2와 호환되지만 현재 설치된 PyTorch 버전은 1.5.0입니다. 이 경우에는 torchaudio의 이전 버전을 설치하거나 PyTorch를 업그레이드해야 합니다. PyTorch를 업그레이드하려면 다음 명령어를 사용하세요:

pip install torch torchvision -U

그리고 적절한 torchaudio 버전을 설치하세요:

pip install torchaudio -U

위의 단계를 완료한 후에도 문제가 지속되면, PyTorch에서 사용하는 GPU를 확인하고 변경해야 할 수도 있습니다. 다음 코드를 사용하여 현재 사용 중인 GPU를 확인하세요:

import torch
print(torch.cuda.current_device())
print(torch.cuda.device_count())
print(torch.cuda.get_device_name(torch.cuda.current_device()))

여러 GPU가 있는 경우, 다음 코드를 사용하여 PyTorch에서 사용할 GPU를 변경할 수 있습니다:

import torch
torch.cuda.set_device(device_index)  # device_index를 원하는 GPU 인덱스로 변경하세요.

이렇게 하면 문제가 해결되어야 합니다. 그럼에도 불구하고 문제가 지속되면 추가 정보를 제공해 주시면 더 도움을 드릴 수 있습니다.


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!
1개의 좋아요

와...봇 감사합니다.해결

1개의 좋아요
  • 아래 답변은 OpenAI의 GPT-4 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

먼저, PyTorch와 GPU 호환성 문제를 해결하기 위해 PyTorch, torchvision, 그리고 torchaudio의 버전을 업데이트하는 것이 좋습니다. 현재 사용 중인 PyTorch 1.5.0은 오래된 버전이며, 최신 GPU와 완벽하게 호환되지 않을 수 있습니다. 최신 버전의 PyTorch를 설치하려면 다음 명령어를 사용하세요.

pip install torch torchvision torchaudio -f https://download.pytorch.org/whl/cu111/torch_stable.html

이렇게 하면 CUDA 11.1 버전과 호환되는 최신 PyTorch가 설치됩니다.

또한, GPU를 사용할 때 발생하는 느린 속도와 관련하여, PyTorch가 GPU를 올바르게 사용하고 있는지 확인해야 합니다. 다음 코드를 사용하여 현재 GPU를 확인하고, GPU를 사용하는 데 필요한 시간을 측정할 수 있습니다.

import torch
import time

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print("Using device:", device)

start_time = time.time()
tensor = torch.tensor([0.12, 0.32]).to(device)
print("Time taken to move tensor to GPU:", time.time() - start_time)

이 코드를 실행한 후, 시간이 여전히 매우 길다면, GPU 사용에 관한 문제가 있을 수 있습니다. 이 경우, NVIDIA 그래픽 드라이버를 최신 버전으로 업데이트하고, 시스템을 다시 시작한 후 다시 시도해 보세요.

마지막으로, "CUDA error: no kernel image is available for execution on the device" 오류는 일반적으로 PyTorch와 GPU 사이의 호환성 문제로 인해 발생합니다. 위에서 언급한 대로 PyTorch를 최신 버전으로 업데이트하면 이 문제가 해결될 가능성이 높습니다.

참고로, PyTorch 공식 문서를 참조하시면 더 많은 정보를 얻을 수 있습니다:


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!
  • 아래 답변은 OpenAI의 GPT-4 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요! 여러가지 원인이 있을 수 있지만, 주로 설치된 PyTorch 버전과 그래픽 카드 드라이버 버전의 호환성 문제로 보입니다.

먼저, PyTorch 버전을 업그레이드해야 할 필요가 있습니다. 현재 설치된 버전은 1.5.0인데, 이 버전은 CUDA 11.4와 호환되지 않습니다. 최신 버전의 PyTorch를 설치하려면 다음 명령어를 사용하세요:

pip install torch torchvision -U

또한, 설치된 torchaudio 패키지도 업그레이드해야 합니다. 다음 명령어를 사용하세요:

pip install torchaudio -U

그 다음, 코드를 실행하기 전에 환경 변수를 설정하여 사용할 GPU를 선택할 수 있습니다. 다음과 같이 설정하세요:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"  # GPU 번호를 선택하세요. 예를 들어, 첫 번째 GPU를 선택하려면 "0"을 사용하세요.

이제 코드를 실행해 보시고, 여전히 문제가 발생한다면 추가로 알려주세요.


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!