CUDA and the rise of NVIDIA - editorial illustration

젠슨 황, CUDA, 그리고 NVIDIA의 부상

소개

젠슨 황이 1993년에 NVIDIA를 공동 창립했을 때, 그 목표는 3D 그래픽을 컴퓨터 게임과 멀티미디어에 도입하는 것이었습니다. 오늘날 같은 회사의 프로세서는 인공 지능 모델을 훈련하고 실행하는 데 사용됩니다. 이러한 변화를 이해하려면 황의 엔지니어링 경력과 NVIDIA가 만든 소프트웨어 플랫폼인 CUDA부터 살펴보는 것이 좋습니다. [1] [1]

1. 황의 엔지니어링 경력

대만에서 태어난 황은 1984년에 오리건 주립 대학교에서 전기공학 학사 학위를 받았습니다. 그는 1984년부터 1985년까지 AMD에서 마이크로프로세서 설계자로 일했고, 이후 1985년부터 1993년까지 LSI Logic에서 여러 직책을 역임했습니다. 그는 컴퓨터 시스템의 여러 구성 요소를 단일 칩에 통합하려는 회사 전략을 담당하는 부서인 Coreware의 이사가 되었습니다. 그 기간 동안 1992년에 스탠퍼드 대학교에서 전기공학 석사 학위도 취득했습니다. [2] [1]

1993년 4월 5일, 황은 크리스 말라코프스키, 커티스 프림과 함께 NVIDIA를 설립했습니다. 그는 회사 창립 이후 사장, 최고 경영자, 이사회 구성원으로 재직해 왔습니다. 1999년 NVIDIA는 기업 공개를 했습니다. 같은 해에 회사의 그래픽 처리 장치(GPU) 역사에서 이정표가 된 GeForce 256을 선보였습니다. [1] [1]

2. CUDA란 무엇인가?

NVIDIA는 2006년에 CUDA를 GPU에서 많은 계산을 병렬로 수행하기 위한 소프트웨어 플랫폼이자 프로그래밍 모델로 소개했습니다. GPU는 계산을 수행하는 하드웨어입니다. CUDA는 개발자가 그 하드웨어에서 계산을 실행하는 데 사용하는 프로그래밍 도구를 제공합니다. 이를 통해 그래픽용으로 만들어진 GPU가 과학 연구, 고성능 컴퓨팅, 인공 지능 애플리케이션으로 열렸습니다. [1] [1]

백만 개의 픽셀로 이루어진 이미지를 밝게 한다고 상상해 보세요. 한 픽셀에 대한 계산은 다른 픽셀과 독립적으로 진행될 수 있습니다. CUDA 프로그램은 그 작업을 더 작은 계산으로 나누어 GPU에서 실행할 수 있습니다. GPU에서 실행되는 함수를 커널이라고 합니다. 많은 스레드가 이를 병렬로 실행하며, 각각 할당된 데이터 부분을 처리합니다. 작업을 병렬로 실행할 수 있는 부분으로 나누는 동일한 원리는 대규모 행렬 곱셈 같은 AI 계산에도 적용됩니다. [3] [1]

3. CUDA가 AI 산업에 어떻게 도움이 되었나

신경망을 훈련할 때 모델은 먼저 예측을 합니다. 훈련 과정은 오차를 측정하고 모델의 매개변수를 업데이트합니다. 이 과정을 여러 번 반복합니다. GPU는 행렬 곱셈과 같은 연산을 가속화하여 연구자들이 더 많은 실험을 할 시간을 주고 더 큰 모델을 훈련하는 것을 실용적으로 만듭니다. GPU는 훈련 후 추론 단계에서도 사용됩니다. 예를 들어 언어 모델이 사용자를 위한 응답을 생성할 때입니다. [4] [1]

AlexNet은 2012년에 실질적인 증명을 보여주었습니다. NVIDIA GPU로 훈련된 AlexNet은 ImageNet 이미지 분류 대회에서 우승했습니다. 그 성능은 컴퓨터 게임에 사용되던 그래픽 프로세서가 이미지를 인식하는 모델도 훈련할 수 있음을 보여주었습니다. [1] [1]

4. CUDA가 NVIDIA에 지속적인 우위를 준 방법

NVIDIA는 개발자가 자주 필요로 하는 계산을 위한 최적화된 라이브러리와 도구를 만들었습니다. cuBLAS는 행렬 연산을 가속화하고, cuDNN은 일반적인 신경망 연산을 지원하며, NCCL은 GPU 간 통신을 처리하고, TensorRT는 훈련된 모델이 더 빠르게 실행되도록 돕습니다. PyTorch 같은 프레임워크가 CUDA를 지원하므로 개발자는 모든 GPU 연산을 처음부터 작성하지 않고도 이러한 기능을 사용할 수 있습니다. [5] [1]

결론

이 소프트웨어 생태계는 NVIDIA의 하드웨어 사업을 강화했습니다. 팀은 익숙한 소프트웨어와 도구를 계속 사용하면서 작은 실험에서 여러 GPU로 실행되는 시스템으로 확장할 수 있습니다. 하드웨어를 전환하면 팀이 CUDA 종속성을 검토하고 소프트웨어 일부를 조정하며 성능을 다시 테스트해야 할 수 있습니다. NVIDIA는 수년간 하드웨어와 함께 소프트웨어에도 투자해 왔기 때문에 AI 컴퓨팅 수요가 증가했을 때 이미 사용법을 아는 개발자를 위한 도구를 갖추고 있었습니다. [1] [1]

참고 자료

  1. https://www.nvidia.com/en-us/about-nvidia/corporate-timeline/
  2. https://s201.q4cdn.com/141608511/files/doc_financials/annual/2013/NVDA_2013AR_Proxy_10K-FINAL.pdf
  3. https://docs.nvidia.com/cuda/cuda-programming-guide/02-basics/writing-cuda-kernels.html
  4. https://docs.nvidia.com/cuda/cuda-programming-guide/index.html
  5. https://developer.nvidia.com/machine-learning

젠슨 황, CUDA, NVIDIA의 부상에 관한 질문

CUDA란 무엇이며 NVIDIA는 왜 그것을 만들었나?

CUDA는 NVIDIA가 2006년에 GPU에서 많은 계산을 병렬로 실행하기 위해 소개한 소프트웨어 플랫폼이자 프로그래밍 모델입니다. GPU는 하드웨어이고, CUDA는 프로그래밍 도구를 제공하여 그래픽 하드웨어를 과학 연구, 고성능 컴퓨팅, AI로 개방했습니다.

CUDA는 AI 산업에 어떻게 도움이 되었나?

신경망 훈련은 예측, 오차 측정, 매개변수 업데이트를 여러 번 반복하는 것을 의미합니다. GPU는 행렬 곱셈과 같은 연산을 가속화하여 연구자가 더 많은 실험을 하고 더 큰 모델을 훈련할 수 있게 합니다. NVIDIA GPU로 훈련된 AlexNet은 2012년 ImageNet 대회에서 우승하며 이를 입증했습니다.

CUDA가 NVIDIA에 지속적인 우위를 주는 이유는 무엇인가?

NVIDIA는 개발자가 자주 필요로 하는 최적화된 라이브러리(행렬 연산용 cuBLAS, 신경망 연산용 cuDNN, 다중 GPU 통신용 NCCL, 더 빠른 추론용 TensorRT)를 만들었고, PyTorch 같은 프레임워크가 CUDA를 지원하므로 팀은 소프트웨어를 다시 작성하지 않고 작은 실험에서 여러 GPU로 확장할 수 있습니다.

Powered By K7