ChatGPT로 글을 쓰고, DALL-E로 그림을 그리고, AI 비서와 대화하는 시대가 되었습니다. 불과 몇 년 전까지만 해도 생소하던 AI는 이제 우리 삶의 많은 부분을 변화시키고 있죠. 특히 대형 언어 모델은(Large Language Model)은 작문, 코딩, 데이터 분석 등 이미 우리의 일상에 파고들었습니다.
이 모든 것들의 배경에는 한 가지 중요한 기술이 있습니다. 바로 엔비디아의 쿠다(CUDA)입니다.
최근 AI 업계를 뒤흔든 ‘딥시크 쇼크’를 들어보셨나요? 중국의 AI 스타트업이 개발한 ‘딥시크(DeepSeek)’라는 모델인데요. 이 모델이 주목받는 이유 중 하나가 바로 기존 AI 개발에서 일반적으로 사용하는 쿠다의 고수준 라이브러리들을 우회하고, 저수준에서 직접 최적화를 시도했다는 점입니다.
이 의미를 제대로 이해하기 위해서는 먼저 지난 20년간 AI 기술의 근간이 되어온 쿠다에 대해 알아볼 필요가 있습니다. 쿠다는 어떤 기술이길래 AI에서 이토록 중요한 위치를 차지하게 된 것일까요?
쿠다(CUDA)란?
쿠다는 GPU(Graphics Processing Unit)라는 특별한 하드웨어를 위한 기술입니다. GPU는 원래 게임이나 3D 그래픽 처리를 위해 설계된 하드웨어지만, 강력한 병렬처리 능력으로 이제는 다양한 분야로 그 영역을 넓혔습니다. GPU의 병렬 컴퓨팅은 대규모 데이터를 수많은 GPU 코어에 분산시켜 엄청난 속도로 동시에 처리할 수 있어 AI 학습과 개발, 빅데이터 분석 등을 빠르게 수행할 수 있게 되었죠.
쿠다는 이러한 GPU의 병렬 처리를 위한 소프트웨어입니다. 개발자들이 GPU의 성능을 더 쉽게 활용할 수 있도록 도와주는 역할을 하죠. 쉽게 설명하면 GPU라는 슈퍼카를 운전하기 위한 운전면허증이라고 할 수 있어요. 쿠다의 등장으로 GPU의 강력한 성능을 누구나 활용할 수 있게 되었습니다.
쿠다의 발전 과정
그럼 쿠다는 어떻게 등장하게 되었을까요? 2000년대 초반, 과학자들과 연구자들이 복잡한 연산을 GPU로 처리하면 CPU보다 훨씬 빠르다는 것을 발견하기 시작했고, 특히 행렬 연산이 많은 과학 계산 분야에서 GPU를 활용하기 시작했습니다.

당시 게임용 그래픽 카드를 만드는 회사였던 엔비디아는 이러한 GPU의 새로운 활용 가능성에 주목했고, 2006년 연구자들이 GPU를 더 쉽게 사용할 수 있도록 쿠다를 개발하여 무료로 공개했습니다. 특히 2012년 이후 AI 분야의 딥러닝이 주목받기 시작하자 cuDNN과 같은 딥러닝 전용 라이브러리를 제공하며 적극적으로 이 분야를 지원했고, 이러한 전략이 성공하면서 TensorFlow, PyTorch 같은 주요 딥러닝 프레임워크들이 CUDA를 기본적으로 채택하게 되며 쿠다는 AI 개발의 사실상 표준이 되었습니다.
쿠다의 아키텍처
쿠다는 CPU(호스트)와 하나 이상의 GPU(디바이스)로 구성된 이종 컴퓨팅 모델입니다. 데이터 병렬성이 높은 부분은 GPU에서 처리하고, 순차 처리가 필요한 부분은 CPU에서 처리하는 식으로 업무를 분담하는 거죠. 마치 회사에서 팀장님은 중요한 의사결정을, 팀원들은 세부 업무를 분담하는 것과 비슷하다고 볼 수 있어요.
이러한 쿠다의 아키텍처는 크게 하드웨어 계층과 소프트웨어 계층으로 나뉩니다. 하드웨어 계층은 실제 병렬 처리를 수행하는 GPU로 수많은 CUDA 코어들로 이루어져 있습니다. 소프트웨어 계층은 CUDA C/C++, CUDA 라이브러리 등으로 구성되어 있으며, 라이브러리를 통해 개발자가 GPU의 성능을 쉽게 활용할 수 있도록 도와줍니다.

특히 소프트웨어 계층은 여러 단계로 나뉘어 있어 개발자의 필요에 따라 다양한 수준에서 GPU를 활용할 수 있는데, 이에 관한 세부적인 내용은 다음 글에서 자세히 다루도록 하겠습니다. 오늘 쿠다의 아키텍처에서 기억해야 할 핵심은 개발자가 이러한 계층 구조를 활용하여 각각의 작업 특성에 맞는 최적의 방식을 선택할 수 있고, 이를 통해 GPU의 강력한 병렬 처리 능력을 최대한 끌어낼 수 있게 된다는 것입니다.
지금까지 쿠다의 기본 개념과 전반적인 구조에 대해 알아보았습니다. 다음 글에서 쿠다의 기술적 특징들을 조금 더 깊이 살펴볼게요.
