NVIDIA의 CUDA 홍보는 매우 공격적입니다.
GTC 2012에서 NVIDIA는 CUDA의 과거, 현재, 미래에 대한 프레젠테이션을 진행했는데, 그 중 한 페이지에 다음과 같은 내용이 있습니다.
G80은 2007년 최초의 CUDA 지원 GPU였지만, 당시만 해도 전체 CUDA 생태계는 아직 초기 단계였고,
많은 사람들은 G80이 공유 메모리 측면에서 CUDA에 가장 큰 영향을 미친다는 사실조차 몰랐으며,
단지 NVIDIA가 CUDA라는 것을 만들었다는 사실만 알고 있었고,
코드 몇 줄도 깨보지 않은 언론에서는 사용하기가 너무 어렵다고 불평하는 사람들이 많았습니다.
2009년 시그그래프 평생 공로상 수상자인 데이비드 커크(David B. Kirk)의 뒤를 이어
엔비디아의 두 번째 수석 과학자로 임명된 빌 달리(Bill Dally)
엔비디아는 약 3년 동안 G80-G200에 대한 사용자 피드백을 축적하고 빌 달리를 수석 과학자로 영입한 후
마침내 L1 캐시, ECC 오류 수정, 슈퍼컴퓨터 지향 아키텍처를 갖춘 획기적인 제품인 페르미(Fermi)를 출시했습니다.
이 세대를 기점으로 슈퍼컴퓨터에 대한 의 야망이 드러나기 시작했고,
슈퍼컴퓨터 업계의 주요 인사 여럿을 초청하여 출시 기념 행사를 가졌습니다
베이징에 있는 NVIDIA 사옥에서 빌 달리(Bill Dally)와 인터뷰를 할 때 톱 500(슈퍼컴퓨터 연산능력 순위)이 기준이라면
슈퍼컴퓨팅에서 CUDA가 성공했다고 간주하는 Top 10이 몇 개나 되는지 질문하였던 기억이 납니다.
물론 그의 대답은 많으면 많을수록 좋지만, 구체적으로 세 개를 고려할 수 있다는 것이었습니다.
그 후, 그리고 실제로 그가 말했듯이 NVIDIA는 실제로 이것을 해냈습니다.
방금 Top 10 (2022 년 11 월 또는 60 호)을 살펴본 결과 현재 NVIDIA GPU를 사용하는 장치가 5 개 있습니다.
CUDA의 성공 이유를 목록으로 단순화하면 기본적으로 다음과 같은 것들이 있다고 생각합니다:
1. C 와 같은 언어를 재구축하는 전략
당시에는 GPU 벤더가 API에 해당하는 언어를 개발하는 것이 매우 어려웠기 때문에 다소 위험했지만,
엔비디아는 과거에 Cg와 같은 언어를 개발한 경험이 있었고,
이를 강화하기 위해 2013년 컴파일러에 강한 실적을 가지고 있던 PGI를 인수한 점입니다.
AMD AOCC 컴파일러의 flang은 사실 NVIDIA PGI 팀에서 만든 고전적인 버전의 flang입니다
(llvm의 flang 담당자가 저에게 알려준 바에 따르면).
2. 놀라운 개발 리소스 지원
CUDA가 처음 소개되었을 때 속도가 빠르다는 것은 누구나 알고 있었지만 모든 분야에 적합하지는 않을 수 있는데,
어떤 분야가 CUDA에 가장 적합할까요? 바로 이 부분에서 개발 시험판에 대한 수요가 발생했고,
실제 프로젝트가 있는 한 샘플 카드를 받아 사용해 볼 수 있는 NVIDIA는 이러한 수요에 매우 민감하게 반응했습니다.
또한 GPU가 대중적인 제품인 만큼 많은 사람들이 쉽게 접근할 수 있었는데,
GPU 이전에도 DSP와 FPGA가 있었지만 이들은 GPU에 비해 사용 비용이 훨씬 비쌌기 때문입니다.
이러한 개발 관계와 시장 자원을 바탕으로 CUDA는 2010년 이후 빠르게 성장하여
위의 첫 번째 슬라이드에서 볼 수 있는 것과 같은 성공을 거두었습니다.
3. 모든 플랫폼 지원.
CUDA는 처음부터 Windows, Linux에서 사용할 수 있었으며, 이제는 MacOS에서도 사용할 수 있습니다.
4. 주도권의 확보
NVIDIA의 CUDA는 반개방형 개발 에코시스템이며, NVIDIA는 오픈 소스의 힘에 의존하지 않습니다.
대신 NVIDIA는 다양한 툴킷, 컴퓨팅 라이브러리, 심지어 TensorRT, 오프라인 프로덕션 레벨 렌더러,
게임 물리 가속 등과 같은 최종 사용자 중심의 제품에도 많은 노력을 기울여 왔습니다.
이러한 제품들은 만들어졌을 뿐만 아니라 실제 사용자가 매우 유용하게 사용하고 있는 제품도 많기 때문에
막대한 비용과 인력, 시간 자원이 필요하며 오픈 소스 커뮤니티에 의존할 경우 개발하는 데 수년이 걸립니다.
5. 강력하고 건실한 재무
세가에 의해 한번 망할뻔 한 이후 NVIDIA의 임원들은 항상 재정 건전성을 매우 의식해 왔으며,
수년 동안 몇 가지 제품(NV30 아키텍처 효율성, 노트북 칩의 잘못된 납땜 등)에 몇 가지 문제가 있었지만
재정적으로 건전한 상태를 유지해 왔습니다.
그 결과 가격 책정 및 재고 관리에 비교적 효과적인 접근 방식을 가지고 있습니다.
위의 사항을 AMD와 비교하면 AMD가 이 부분에서 크게 부족하다는 것을 알 수 있습니다:
1, CUDA C는 무엇입니까, 저는 CTM에 종사합니다;
NVIDIA의 CUDA는 OpenCL API가되었고, 나도 사용하고 있는데, 왜 OpenCL 2.0은 나 혼자만하고 있고,
NVIDIA는 OpenCL 2.0 드라이버를 거의 출시하지 않았고, 피를 뱉어; 더 이상 OpenCL을하지 않고 ROCm을하고 있습니다.
OpenCL 3.0, 우리도 OpenCL을 없애자 (당시 AMD를 따랐던 OpenCL 사용자들은 피를 뱉었습니다).
2. 개발자에게 평가판 카드를 제공합니까?
딜러를 찾으면 차례대로 사용할 수 있도록 몇 조각을 흘릴 수 있다고 딜러가 말했습니다.
홍보를 위해 많은 노력을 기울였지만 결국에는 여전히 AMD에게 고객을 빼앗길 수도 있습니다.
3. 리눅스면 충분합니다. 오픈소스 얼마나 좋은지, 대량 사용자를 위한 윈도우 일반 컴퓨팅을 감당할 수 없다.
Matrix Core 는 MI 시리즈만 제공하며 게이머는 필요하지 않음(RDNA1), 필요하지 않음(RDNA2), 필요할 수 있음(RDNA3).
4. ROCm의 초창기는 실제로 상당히 불모지였습니다.
ROCm은 홍보도 안되고 오픈소스라고 했지만 실제로는 기본적으로 AMD 사람들이 직접 작성한 것이었고
사용자가 많지 않았기 때문에 CUDA에 비해 ROCm의 다양한 도구와 라이브러리가 오랫동안 매우 느리게 업데이트되었고
이는 AMD의 돈 부족과 큰 관계가 있었습니다.
간단한 예로, 재정 지원 측면에서 두 서비스 간의 차이를 확인하려면 NVIDIA 컨테이너 서비스인 NGC와 AMD Docker의 수를 살펴보십시오.
--------------------------------------------------------------
요즘 IT 커뮤니티에서 엔비디아가 AI로 대두하고 있는데 RTG는 그동안 뭐 했냐는 성토가 많기에
참고하기 좋은것 같아서 가져온 글입니다.
요점은 황회장이 열심히 CUDA 생태계를 만드는데 공들여서
몇몇 하이퍼 스케일러의 전유물이던 슈퍼컴퓨팅을 소규모 연구실 수준으로 보급하는데 성공하였다는 것입니다.
여러모로 황회장의 비전과 실행능력이 대단하네요, 잡스의 iOS 와 비견할만한 성공입니다.
사족이지만 AMD의 리사수 여사는 라자 코두리의 난(RTG 분사 -> 인텔에 매각할려고 했었던 사건) 이후 독립형 GPU
사업에 힘을 실어주지 않는 기조를 유지하고 있어서 앞으로도 엔비디아의 전?횡은 크게 바뀔일이 없을것이라고 봅니다.
대신 앞으로 찾아올 변곡점이 하나 있는데 FPGA 역량입니다. 인텔은 알테라를, AMD는 자일링스를 보유하고 있습니다
대규모 모델 학습의 열풍이 지나고 에너지 효율과 개인용 단말기에서 AI가속 성능이 중요해지는 시대가 오면
FPGA 기술력이 곧 경쟁력이 되지 않을까요?
돈없다고 후려쳤으면후려쳤지ww
베가M때 인텔 수출이 성사되었어야 하는데 이제 라데온에게 남은건 10년뒤 섭종이냐 20년뒤 섭종이냐 두가지 선택지밖에 없죠 거의 GM이 보는 GM대우 수준으로 라데온 취급하는데 나같아도 분사하고 인텔에 팔아넘길 각 세우겠습니다 ㄹㅇ