John Nickolls는 NVIDIA의 컴퓨터 아키텍트이자 연구원으로, GPU 컴퓨팅 개발에 기초적인 역할을 수행했다. 그의 작업은 병렬 처리 아키텍처, 특히 프로그래밍 가능한 셰이더 설계와 그래픽 처리 장치에서 범용 컴퓨팅을 가능하게 한 플랫폼인 CUDA의 창설에 중점을 두었다. Nickolls의 기여는 GPU를 전용 그래픽 하드웨어에서 과학 및 Artificial intelligence 워크로드를 위한 다목적 프로세서로 변환하는 데 도움을 주었다.
Nickolls는 2000년대 초반에 NVIDIA에 합류했으며, 이전에 Nokia Bell Labs 및 다른 기술 기업에서의 경험을 가져왔다. 그는 통합 셰이더를 도입한 GeForce 8800 GTX(2006)의 아키텍처에 중요한 역할을 했고, 이후 2007년에 처음 출시된 CUDA 개발을 주도했다. 그의 연구와 엔지니어링 리더십은 개발자가 비그래픽 작업을 위해 GPU 병렬성을 활용할 수 있게 하는 프로그래밍 모델을 확립하는 데 결정적이었다.
초기 경력 및 배경
Nickolls는 University of Toronto에서 전기 공학 학사 학위를, Carnegie Mellon University에서 컴퓨터 과학 석사 학위를 받았다. 그는 1980년대와 1990년대에 병렬 컴퓨팅 시스템을 연구한 Nokia Bell Labs에서 경력을 시작했다. 이후 그는 재구성 가능한 컴퓨팅에 초점을 맞춘 스타트업을 공동 창업했으며, 이 회사는 2003년에 NVIDIA에 인수되었다. 이 인수로 Nickolls와 그의 팀은 NVIDIA에 합류하여 GPU 아키텍처 작업을 시작했다.
GPU 아키텍처 혁신
NVIDIA에서 Nickolls는 2006년에 출시된 G80 아키텍처 설계에 기여했다. 이 아키텍처는 버텍스 및 픽셀 셰이더를 단일 프로그래밍 가능 코어 세트로 통합하여 프로그래밍을 단순화하고 유연성을 높였다. G80은 또한 스칼라 명령어 세트와 범용 컴퓨팅을 지원하는 메모리 모델을 도입했다. Nickolls의 팀은 스레드를 효율적으로 관리할 수 있는 명령어 세트와 실행 모델을 설계하여 CUDA의 기반을 마련했다.
CUDA 개발
2006년에 발표되고 2007년에 출시된 CUDA는 GPU 컴퓨팅의 주요 이정표였다. Nickolls는 병렬 실행을 위한 키워드로 C 언어를 확장한 CUDA 프로그래밍 모델의 주요 아키텍트였다. CUDA는 개발자가 계층적 스레드 조직과 공유 메모리를 사용하여 수천 개의 GPU 코어에서 동시에 실행되는 코드를 작성할 수 있게 했다. 이 모델은 다양한 GPU 세대에 걸쳐 확장 가능하도록 설계되었으며, NVIDIA 하드웨어에서 고성능 컴퓨팅의 표준이 되었다.
AI 및 머신 러닝에 미친 영향
Nickolls의 CUDA 작업은 Machine learning 및 Deep learning에 깊은 영향을 미쳤다. GPU에서 대규모 병렬 행렬 연산을 수행하는 능력은 이전에 CPU에서 실행되던 Neural network 모델 훈련을 가속화했다. 이러한 가속화는 2010년대 Deep learning의 부상, 특히 이미지 인식 및 자연어 처리의 돌파구에 필수적이었다. CUDA로 구동되는 NVIDIA GPU는 Large language model 및 기타 AI 시스템 훈련을 위한 주요 하드웨어가 되었으며, OpenAI 및 Google DeepMind와 같은 기업에서 사용되었다.
이후 작업 및 유산
Nickolls는 NVIDIA에서 GPU 아키텍처에 계속 영향을 미쳤으며, CUDA의 성능을 개선하고 동적 병렬성과 같은 기능을 추가한 Fermi(2010) 및 Kepler(2012)와 같은 후속 세대에 기여했다. 그는 또한 모바일 장치용 저전력 GPU 설계에도 작업했다. 그는 2010년대 중반에 NVIDIA에서 은퇴했지만, 이 분야에서 존경받는 인물로 남아 있다. GPU 컴퓨팅에 대한 그의 논문과 강연은 널리 인용되며, 그의 아키텍처 결정은 현대 병렬 컴퓨팅의 풍경을 형성했다.
Nickolls의 유산은 Artificial intelligence 연구 및 산업에서 GPU 컴퓨팅의 보편화에서 분명하게 드러난다. 그가 만드는 데 도움을 준 CUDA 플랫폼은 현재 과학 컴퓨팅, 데이터 분석 및 AI 전반에 걸쳐 사용되며, 그래픽 전용 GPU에서 범용 가속기로의 전환에서 핵심 선구자로 자리매김하고 있다.