John Nickolls是一位计算机架构师和研究员,供职于NVIDIA,在GPU计算的发展中发挥了奠基性作用。他的工作聚焦于并行处理架构,特别是可编程着色器的设计以及CUDA的创建,CUDA是一个支持图形处理单元上通用计算的平台。Nickolls的贡献帮助将GPU从专门的图形硬件转变为适用于科学和人工智能工作负载的多功能处理器。
Nickolls于2000年代初加入NVIDIA,带来了他之前在诺基亚贝尔实验室及其他科技公司工作的经验。他在GeForce 8800 GTX(2006年)的架构中发挥了关键作用,该产品引入了统一着色器,随后他领导了CUDA的开发工作,CUDA于2007年首次发布。他的研究和工程领导力对于建立编程模型至关重要,该模型使开发者能够利用GPU并行性处理非图形任务。
早期职业生涯与背景
Nickolls在多伦多大学获得电气工程学士学位,并在卡内基梅隆大学获得计算机科学硕士学位。他的职业生涯始于诺基亚贝尔实验室,在1980年代和1990年代从事并行计算系统研究。后来,他联合创立了一家专注于可重构计算的初创公司,该公司于2003年被NVIDIA收购。这次收购将Nickolls及其团队带入NVIDIA,他们开始从事GPU架构工作。
GPU架构创新
在NVIDIA,Nickolls为2006年发布的G80架构设计做出了贡献。该架构将顶点着色器和像素着色器统一为一组可编程核心,简化了编程并提高了灵活性。G80还引入了标量指令集和支持通用计算的内存模型。Nickolls的团队设计了指令集和执行模型,使线程能够被高效管理,为CUDA奠定了基础。
CUDA开发
CUDA于2006年宣布,2007年发布,是GPU计算的一个重要里程碑。Nickolls是CUDA编程模型的主要架构师,该模型通过并行执行的关键字扩展了C语言。CUDA使开发者能够编写同时在数千个GPU核心上运行的代码,并具有层次化线程组织和共享内存。该模型设计为可跨不同GPU代际扩展,并成为NVIDIA硬件上高性能计算的标准。
对人工智能和机器学习的影响
Nickolls在CUDA上的工作对机器学习和深度学习产生了深远影响。在GPU上执行大规模并行矩阵运算的能力加速了神经网络模型的训练,而此前这些训练在CPU上进行。这种加速对于2010年代深度学习的兴起至关重要,包括图像识别和自然语言处理方面的突破。由CUDA驱动的NVIDIA GPU成为训练大型语言模型及其他人工智能系统的主要硬件,被OpenAI和Google DeepMind等公司使用。
后期工作与遗产
Nickolls继续影响NVIDIA的GPU架构,为Fermi(2010年)和Kepler(2012年)等后续世代做出贡献,这些架构完善了CUDA的性能并增加了动态并行性等功能。他还致力于移动设备的低功耗GPU设计。他在2010年代中期从NVIDIA退休,但仍是该领域备受尊敬的人物。他关于GPU计算的论文和演讲被广泛引用,他的架构决策塑造了现代并行计算的格局。
Nickolls的遗产体现在GPU计算在人工智能研究和工业中的普及。他帮助创建的CUDA平台现在被用于科学计算、数据分析和人工智能,使他成为从仅用于图形的GPU向通用加速器转变的关键先驱。