콘월 이층집

cudacapa

에이전트 스킬을 활용한 그래픽카드 호환성 확인 방법

반응형

*본 게시글에서의 그래픽카드는 엔비디아(NVIDIA) 그래픽카드를 말한다.

**본 게시글에서 사용한 에이전트는 codex app 이다.

 

오늘은 그동안 어떻게 그래픽카드*에 맞는 CUDA 버전을 찾았는지(legacy)와 에이전트**를 활용한 새로운 방법을 제안하고자 한다.

결론부터 이야기하자면, 에이전트 스킬을 구성하기 위한 리포지토리를 만들었고 그 과정에 대한 이야기이다.

 

지난 화요일, 채널에 질문이 올라왔다, "Quadro P5000 문제 없이 돌아가나요?"

질문을 풀어보자면, 현재 개발하고 있는 프로그램에 해당 그래픽카드로 모델 추론을 할 수 있는지 묻는 것이다.

회사 슬랙이여서 모자이크

 

먼저, 그동안 그래픽카드에 맞는 CUDA 버전을 찾던 과정(legacy)이 있다.

- 그간 경험으로도, 구글링해보더라도 다들 이렇게 찾고 있다(?)

 

1. 그래픽카드의 Compute Capability 를 찾는다. (https://developer.nvidia.com/cuda/gpus)

Compute Capability 7.5 이전은 https://developer.nvidia.com/cuda/gpus/legacy 해당 링크에서 확인이 가능하다.

예시로 든 Quadro P5000의 Compute Capability 는 6.1 이다.

Quadro P5000의 Compute Capability 는 6.1 이다.

 

2. GPUs Supported 를 확인하여 어느 CUDA 버전에 호환되는 지 확인한다.

- 6.1 의 경우 8.0 부터 12.0 - 12.6에 호환된다고 표현되어있다.

- 현재 프로그램에서 사용하는 CUDA 버전은 12.8이니 표를 기반으로 본다면 호환이 되지 않는다.

- 그렇지만, 공식 문서가 아닌 wiki에서 확인하므로 정확하지 않는 결과일 수 있다.

12.8은 6.x를 포함하지 않는다.

 

그렇다고 버전마다 릴리즈노트를 보고 sm_61 과 같은 키워드로 찾아보는기에는 번거롭다.

 

ChatGPT에 물어보니 래퍼런스 링크를 가져오며 CUDA 12.8에서 사용이 가능하다는 답변을 줬다.

앞선 결과와 상반된 이야기인데, 그럼 누가 맞는 걸까?

보통은 여기까지오면 "아, chatGPT가 맞나보다" 싶겠지만, 여기서 간과한 부분은 모델 추론 유무이다.

시대가 좋아졌다

 

현재 프로그램에서 pytorch 는 2.8 이상 버전을 쓰고 있다.

그리고 pytorch 공식 레포지토리에서 관련 PR을 찾을 수 있었다.

6.1의 마이크로 아키텍처는 Pascal 이다.

 

정리하자면, CUDA 라이브러리 자체는 사용이 가능하지만 pytorch를 통한 모델 추론은 불가능하다라는 결론이 도출될 수 있다.

 

참 번잡하다.

그래서 에이전트에 스킬로 그래픽카드 호환성을 찾아주는 레포지토리를 만들었다.

https://github.com/ce-dric/gpu-capability-finder

 

GitHub - ce-dric/gpu-capability-finder

Contribute to ce-dric/gpu-capability-finder development by creating an account on GitHub.

github.com

 

사용법은 매우 간단하다. 에이전트에 해당 리포지토리 링크를 주고 스킬로 등록해달라고 한뒤, 재시작하면 사용할 수 있다.

설치된 스킬은 Codex app > 스킬 및 앱 > Skills 에서 확인할 수 있다.

 

수행한 결과를 보면, 'Read GPU Compat Checker skill' 로 스킬이 사용되었음을 확인할 수 있다.

보통은 키워드 명령어로 수동 호출하는데, 별도의 명령어 없이 알아서 스킬을 불러 오도록 문서를 보완해뒀다. 

편한 세상이다..

 

사실 이렇게 물어보는 경우가 많지 않지만, 매 질문마다 관련 문서를 찾아보기에는 시간이 너무 아깝다.

이런 부분은 자동화시켜서 슬랙 메세지 내용으로 감지하여 답변하는 봇을 만들어보는 것도 좋은 시도일 것 같다.

반응형

+ 최근 글