GPU编程(零): 老黄和他的核弹们

2023-10-24 13:08
文章标签 编程 gpu 核弹 老黄

本文主要是介绍GPU编程(零): 老黄和他的核弹们,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 前言
  • GeForce RTX 20发布会
  • NVIDIA与老黄
  • 发家史
  • 最后

前言

这次要开始GPU编程系列, 其实主要是CUDA编程. 对深度学习或者并行计算感兴趣的小伙伴可以关注下这个系列哦~


GeForce RTX 20发布会

油管GeForce RTX 20发布会

GeForce RTX 20发布会

2018年8月21日0点, NVIDIA在德国科隆举办了为期两个多小时的新显卡发布会, 黄仁勋在会上总结了NVIDIA在图形产业上的成果和历史, 并且发布了新一代基于图灵架构的显卡: GeForce RTX 2080TiGeForce RTX 2080GeForce RTX 2070. 代号TU10x, 是第一款使用即时光线跟踪功能, 模拟光线反射, 同时核心原是为深度学习而设计.

GeForce RTX 20发布会


NVIDIA与老黄

NVIDIA创立于1993年1月, 是一家以设计和销售图形处理器为主的无厂半导体公司. NVIDIA亦会设计游戏机核心, 例如Xbox和PlayStation. NVIDIA最出名的产品线是为个人与游戏玩家所设计的GeForce系列, 为专业CGI工作站而设计的Quadro系列, 以及为服务器和高效运算而设计的Tesla系列, 虽然起家于PC计算机的显卡业务, 英伟达也曾涉及行动芯片Tegra的设计, 但智能机市场对此响应不大, 不过近年却利用这些研发经验, 目前朝向人工智能和机器视觉的市场发展, 也是图形处理器上重要的开发工具CUDA的发明者. 不过NVIDIA的发展过程也是非议不断, 批评多集中于滥用排他性商业合作、不正当营销方式、对业界开放标准和自由软件运动的拒斥等.
NVIDIA的总部设在美国加利福尼亚州的圣克拉拉位于硅谷的中心位置.

黄仁勋、克里斯·马拉科夫斯基和卡蒂斯·普里姆于1993年4月美国加州创办了NVIDIA(随后成为德拉威州企业). NVIDIA保持低调到1997-1998年, 当时它发布了RIVA个人计算机绘图处理器产品线. 并于1999年1月在纳斯达克挂牌上市; 同年5月, 售出第一千万个绘图处理器. 于2000年收购了一代王者3dfx的知识产权. 3dfx是1990年代中期其中一间最大的图形处理器厂商. NVIDIA与许多OEM厂商, 和一些组织创建起密切关系, 最知名的包括台积电. 2002年2月, NVIDIA售出第一亿个绘图处理器.

老黄和他的核弹们

目前NVIDIA和AMD供应了市场上大部分独立显卡. NVIDIA最著名的GeForce绘图处理器产品线于1999年首次亮相. 现在GeForce产品线已经扩展至桌面型和笔记本电脑. 移动设备方面, NVIDIA拥有Tegra产品线. 它能提供高性能, 同时保持低电源消耗. 此类产品通常用于无线通信设备.


发家史

但是老黄的创业路走得还是比较艰辛的.

  • 1993年4月, 从集成电路生产商LSI Logic出来的老黄, 联合Sun公司两位年轻工程师克里斯·马拉科夫斯基卡蒂斯·普里姆共同创立了NVIDIA, 他们的初衷是研发一种专用芯片, 用来加快电子游戏中3D图像的渲染速度, 带来更逼真的显示效果.
    两年之后, 推出了第一款产品, 首款面向游戏主机的多媒体加速器–NV1, 这款加速器集图形处理、声卡及游戏操作杆等功能于一体, 一经发布便吸引了当时最大游戏制造商世嘉的目光. 世嘉决定在其第六代家用游戏机“土星”和个人电脑上采用NV1.
    但是同年, 微软推出了Windows 95, 图形芯片主流市场从游戏主机转向PC, 同时还发布了Direct3D标准. 英伟达采用的是二次方程纹理贴图作为立体图形实现方式, 无法兼容行业通用标准, 因此市场销量快速下降.
    两年后, NVIDIA发布了两款失败的产品后, CEO黄仁勋领悟到公司要继续生存, 就必须作出改变. 他雇佣了David Kirk, 作为首席科学家. David Kirk原本是属于软件开发商Crystal Dynamics, 一间提供优良视觉质量的公司. 他基于对着色的熟悉, 将NVIDIA的3D硬件经验合并起来, 使NVIDIA得以翻身. NVIDIA陆续推出RIVA128、RIVA128ZX、RIVATNT等图形处理器. 这些新产品不仅支持微软Direct3D和OpenGL标准, 在能效上也超越了竞争对手3Dfx的Voodoo和ATI的Rage Pro, 加上价格低廉, 逐渐获得了整机厂的青睐. 1999年1月, 在纳斯达克挂牌上市. 同年8月,英伟达推出第一款以GeForce命名的显示核心–GeForce 256, 并首次提出GPU概念. 次年底, 英伟达以7000万美元现金、100万股公司股票, 将3Dfx收入囊中, 正式成为行业老大.
  • 到这里, 老黄眼看就要一统江湖了. 好景不长, 还是和微软相关.
    众所周知, 微软花了一大笔钱进军游戏主机行业. 2000年, 微软请英伟达研发Xbox图形芯片、SoundStorm声音芯片以及主板解决方案. 但是微软时限只有一年, Xbox发布前两个月才开始生产. 最终, 微软被迫推迟首发, 错过先机, 败给了索尼PS2. 微软失了先机, 后来英伟达又出了品控问题. 微软便把订单交给了英伟达的竞争对手ATI(后被AMD收购). 这次合作失败让NVIDIA付出了惨痛代价, 不仅2003年营收减少, 还错过了微软DirectX 9规格确立的重要消息, 直接导致当年推出的GeForce FX由于兼容性问题败给ATI的Radeon 9700. 这和第一次NV1的折戟非常相似. 更不幸的是, GeForce FX还存在运行温度过高的问题, 引发多次自燃事故, 黄仁勋一度被游戏玩家调侃为"两弹元勋". 除了巨硬, 英特尔也开始扶持ATI. NVIDIA为了实现突围, 一方面主动去找微软和解, 争取再次合作; 另一方面失去Xbox订单, 努力拿下了索尼PS3订单. 此外, 继续推出高性能芯片压倒ATI, 同时还和英特尔达成了专利交叉许可协议. 可以说很卧薪尝胆了.
  • 眼看要一统江湖的老黄就这样被微软和英特尔打压得说不出话来. 所以就算是在硅谷, 创业也是很艰难的.
    2007年, 英伟达首席科学家David Kirk说服了老黄, 投入大量资源研发出了能够让GPU变得通用化的CUDA(Compute Unified Device Architecture)技术, 就是如今GPU编程的核心, 并让每一颗英伟达GPU都支持CUDA. 这一疯狂举动成本巨大. 由于必须在硬件产品设计中增加相关CUDA逻辑电路, 使得芯片面积增大、散热增加、成本上升、故障率增高; 同时, 还要保证每款产品的软件驱动都支持CUDA, 这简直是不给NVIDIA的程序猿活路. 2008年, AMD收购NVIDIA老对手ATI, 形成了CPU整合GPU的新解决方案.
    Intel也终止了与英伟达的合作, 在自家芯片组中集成了3D图形加速器.
    2012年, 深度神经网络技术在通用GPU的支持下实现重大突破, 包括计算机视觉、语音识别、自然语言处理, 以及各个领域的人工智能技术都得到了快速发展的条件. 英伟达的数据中心业务也蒸蒸日上, 为大大小小的公司提供强大计算力支持.
    在2016年10月20日任天堂发布了Switch, 用的是英伟达定制的Tegra X1系统芯片.

Switch


最后

喜欢记得点赞哦, 暗中关注我也是可以的~

这篇关于GPU编程(零): 老黄和他的核弹们的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/275367

相关文章

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面

C#异步编程ConfigureAwait的使用小结

《C#异步编程ConfigureAwait的使用小结》本文介绍了异步编程在GUI和服务器端应用的优势,详细的介绍了async和await的关键作用,通过实例解析了在UI线程正确使用await.Conf... 异步编程是并发的一种形式,它有两大好处:对于面向终端用户的GUI程序,提高了响应能力对于服务器端应

C# async await 异步编程实现机制详解

《C#asyncawait异步编程实现机制详解》async/await是C#5.0引入的语法糖,它基于**状态机(StateMachine)**模式实现,将异步方法转换为编译器生成的状态机类,本... 目录一、async/await 异步编程实现机制1.1 核心概念1.2 编译器转换过程1.3 关键组件解析

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

Java并发编程之如何优雅关闭钩子Shutdown Hook

《Java并发编程之如何优雅关闭钩子ShutdownHook》这篇文章主要为大家详细介绍了Java如何实现优雅关闭钩子ShutdownHook,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 目录关闭钩子简介关闭钩子应用场景数据库连接实战演示使用关闭钩子的注意事项开源框架中的关闭钩子机制1.