본문 바로가기
카테고리 없음

AMD GPU 사용방법

by thank007 2023. 1. 18.
반응형

AMD GPU사용방법 

 

엔비디아가 Tensor flow라는 자사의 GPU용 인공지능 API를 개발하여 제공한 뒤로 AI 가속기 분야에서는 점유율 90% 대 이상을 하고 있어요.


그래서 일반인들은 인텔 GPU나 AMD GPU로는 AI 프로그래밍이 안 되는 줄로 오해하고 있어요. 아니에요. 돼요.

엔비디아는 FPGA와 합쳐지는 미래가 없습니다. 인텔과 AMD는 FPGA 2등, 1등 회사를 인수하여 갖고 있어요. 현직에서는 당장 사용하시는 쪽에 초점이 맞춰져 있으니 이해해요. 하지만, 미래를 준비할 사람들은 다른 사람들이 몰리지 않은 분야에서 실력을 기르고 기회를 보는 것도 생존전략 중에 하나인데요. GPU와 FPGA 활용을 잘하는 SW 개발자들이 점차 많이 필요해지는 상황이죠. 다 갖춰진 환경보다는 하나하나 바닥부터 다져가면서 자기가 잘할 수 있는 분야를 찾으면 나쁘지 않다고 생각해요. 도전하는 사람들이 알아서 판단할 일입니다.

산업계는 산업표준이라 하는 것이 있어요. 표준을 주도하는 쪽은 가장 최신 기능, 최신 SDK를 이용하여 달려가고 참여업체들은 약간 느리지만 안정된 버전에 맞춰서 개발환경을 지원해갑니다.


연관해서 많은 대학과 연구소들에서도 주도 업체가 아닌 업체들이 장비나 도구를 지원하는 연구를 병행하고 있어요. 그래야 주도 업체가 뭔가 실수한 경우 혹은 오류가 있는 것도 표준의 검증과정에서 바로 잡을 수가 있고, 더 좋은 방법들이 제시되기도 해요.



연관 글은 국내 대학의 연구소에서 여러 개발사에서 나온 툴들을 확인하여 테스트 시점을 기준으로 어느 수준까지 되는 지 트윅은 어떻게 하는지 살펴본 자료인데요. 연관 사이트 운영자는 AI 연관 연구실에 있던 분 같네요.

AMD에서는 리눅스 환경에서 ROCm 이란 모듈을 설치하게되면 AMD의 그래픽카드를 이용하여 Tensor Flow를 기반으로 하는 다양한 AI 개발환경을 사용할 수 있어요.

 


Windows 환경에서 활용할 수 있는 방법을 찾아서 정리해주셨네요..

 



시점상 1년 수개월 전의 자료지만 공개된 자료를 기반으로 버전 추적을 해가면 최신 상태를 잘 업데이트하실 수 있을 것인데요.

저는 AI 설계보다는 SDK 응용 개발자, 시스템 프로그래밍 입장에서 본 것인데요. 이외로 연관 시스템 프로그래밍을 할 수 있는 사람들이 부족합니다. 사람이 부족한 만큼 실력만 잘 갖추면 고유한 위치를 찾기가 어렵지 않죠.

UNIX 워크스테이션 시절부터 X-Windows와 OpenGL은 표준이었으나, 멀티 쓰레딩이 약했어요. 그래서 멀티스레드 프로그래밍을 넣어서 프로그램하게 되면 뻑이 잘 났지요. 요즘은 CPU와 DRAM 상에 자료구조 만들어 넣고 GPU로 넘기는 3D 연산을 아예 GPU 내에도 자료구조를 만들어 넣고 GPU내 멀티 스레드로 구현하려고 하고 있어요. 역시나 이러한 방식으로 변화된다고 알고 들어가면 제대로 프로그램을 짜는 사람들이 정말 드뭅니다. 그냥 나와있는 SDK 가져다 불러 쓰는 정도이지.

아직 학생이라면 이러한 분야에 좀 도전해 볼 만해요. 졸업할 때 사이에 실력을 갖추면 GPU 상대로 프로그래밍을 하려는 여러 업체들이 최적화 SDK나 드라이버계층을 만들어 달라고 하겠지요?

AMD도 산업표준이기는 하지만 더 이상 성능이 느린 OpenCL에만 목매지는 않아요. 기존 상용앱들이야 그대로 둔다지만, 새로 만드는 자율주행, 메터버스, 게임 분야는 여러 오픈소스 커뮤니티와 함께 새로 판을 짜고 있고, 기꺼이 SDK 소스와 예제를 오픈하고 있어요.

구글, 테슬라와 협업을 하고 있기에 FPGA를 붙이거나 내장한 SoC가 의외로 빨리 나올 수 있어요. 현대차에서 FPGA 프로그래밍까지 할 수 있는 인력은 매우 고급인력인데요. 시간 정밀도가 올라가는 분야일수록 생명, 사고 피해를 예방하기 위해 코드의 양보다 질, 안정성, 보장된 성능을 엄청 중시하게 돼요. 개발자로서는 몸 값이 비싸고 대체 인력 구하기 어려운 분야죠.

AMD의 외장그래픽뿐만 아니라 내장그래픽으로도 돼요. 성능은 CPU로 돌릴 때랑 내장그래픽으로 돌릴 때가 비숫하다고 해요. 외장그래픽을 사용하는 것이 훨씬 빠르니 그쪽을 권해요.

 

 

리눅스 

 

 


리눅스 OS 환경에서 ROCm을 설치하시면 보다 여러 가지 AI연관 툴과 SDK를 활용할 수 있어요.

자 이제 AMD의 GPU로도 AI에 입문할 수 있는 것을 아셨다면 AI에 입문하는 것을 늦추지 마십시오 AI는 엔비디아만의 전유물이 아니에요. 테슬라도 엔비디아 기술을 사용하다가 2022년 하반기부터는 AMD로 파트너를 변경했어요. 고유의 SoC를 만들 가능성이 큽니다. 구글도 서버 클라우드에서 AMD와 서버에서 AMD GPU를 사용하고 있고 SoC도 직접 만드는 것을 고민하고 있을 수 있어요.


AI는 이미지검색, 트랜스코딩, 데이터사이언스, 자율주행 등이 강력하는 경쟁하는 상황이므로, SW 실력이 탁월한 인재들은 특별한 학력이나 배경이 없이도 눈에 띄어 발굴되기 쉽습니다. AI연관 개발툴이 점점 쉽게 바뀌고 있어요. 엑셀 매크로나 함수 배워서 사용하는 것보다 편하게 사용하게 되는 날이 올 수도 있어요.


언제까지나 소비자로 남아있지 마십시오.

그 사이에 개발자, 창작자, 홍보자, 유통자는 새로운 경제시스템으로 편입하여 돈도 벌고 생계도 마련해 갑니다.

외부에서 배터리로 작업하기에는 AMD 라이젠 5000시리즈나 6000 시리즈 CPU와 AMD의 라데온 RX 6000 시리즈 외장 그래픽 성능이 괜찮아서 인데요. CPU와 GPU 클럭이 영상편집, 게임, 3D 작업을 할 정도로 전원어댑터 사용 시에 비해 크게 감소하지 않아요. 맥북이 가장 그 편차가 적지만 맥북은 접근성과 가격이 그러니 제외하고 보면 그렇죠.

하지만 AMD GPU라고 AI개발이 안되지는 않을 텐데 하여 알아본 것인데요. AMD도 나름 뒤처졌던 AI 지원, 3D 렌더링 분야에 가속 SDK를 준비해 왔더라고요. 서버와 자율주행용 APU 시장도 나름 잘 진입하고 있고.

그래서 알아봤어요. 제가 50대지만 20대나 30대 초반이라면 개발자를 반기는 쪽이 AMD나 인텔 커뮤니티일 거 같다는 생각이 들어서요. 포팅만 잘해도 나름 할 일이 좀 있을 테 죠? 여러 다른 플랫폼에 C++ 라이브러리 포팅은 30년 전에 제가 수도 없이 했던 일인데. 당시는 RogueWave C++ 이란 유명한 회사의 라이브러리 제품군이 있어서 경험을 많이 쌓았죠. 90년대 후반인데 OS가 새로 나와서 포팅 안되던 것도 매크로 플래그 하나 바꿔주거나 정의값 넣어주면 잘 포팅되서 컴파일되고 수십, 수백 명을 긴장시키다가 살리곤 했었죠.

아마 오픈소스 커뮤니티에서 누군가는 그런 일을 하고 있을 거예요. 사용자 입장에서는 에이 이 SDK는 엔비디아 GPU에서 밖에 안 돼서 다른 거 못써요 하겠지만, AMD나 인텔 진영에서는 그런 것을 해결해 줄 개발자나 해커를 찾는 것이에요.

더더구나 자신들의 칩에 더 최적화하여 성능 내준다면 더할 나위 없이 좋고요. 기획 아무리 잘해도 이럴게 밑에서 일하는 기술자들이 안 받쳐주면 딜레이 되는 프로젝트 많아요. 학위나 직위가 중요한 게 아니네요. 정작 그런 데서 태클 걸릴 위험이 훤히 보인다 이거예요. 엔비디아, AMD, 인텔 모두 다 골라서 선택할 수 있다면 가격 협상력, 플랫폼 종속 문제에 발목 잡히지 않는데 못하게 되면 영영 종속돼버립니다.

국내 게임개발자들만 해도 Widnows 위주로 게임을 만들 수는 있는데 리눅스 기반에도 소 돌아가는 스팀덱이나 구글용 게임 포팅은 제대로 못하고 있지요. 그 사이 미국과 유럽에서는 대작들이 꾸준히 나오고 있어요. 중국업체들은 한국산 쉽게 따라잡아버리고 있다고 합니다.

댓글