社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

英伟达为CUDA添加原生Python支持!学Python,这几本书你一定要翻烂!(文末送书)

IT服务圈儿 • 6 天前 • 24 次点击  
赠书活动丨文中书籍任选

在 2024 年,根据 GitHub 发布的《2024 开源调查报告》,Python 成为了全球最受欢迎的编程语言,首次超越了 JavaScript。
多年来,英伟达的 CUDA 软件工具包一直没有原生支持 Python。但这一状况已经改变了。
在最近的 GTC 大会上,英伟达宣布其 CUDA 工具包已实现对 Python 的原生支持和全面集成。开发者现在可以使用 Python 直接在 GPU 上执行算法式计算任务。
“我们一直在努力将加速版的 Python 作为一等公民引入 CUDA 技术栈,”CUDA 架构师 Stephen Jones 在 GTC 大会的一场演讲中表示。
对程序员来说,这意味着巨大的变化。CUDA 诞生于 C 和 C++,而如今,开发者不需要再掌握这些语言,也能使用 CUDA 工具包了。
“Python for CUDA 不应该看起来像 C,它应该看起来像 Python,”Jones 说。
“Python CUDA 不是简单地把 C 翻译成了 Python 语法。”
——Stephen Jones,CUDA 架构师
开发者可以使用自然的 Python 接口,以及调用函数和库的脚本式模型,来编写可在英伟达 GPU 上执行的 AI 程序。
Jones 强调,Python CUDA 要符合 Python 开发者的使用习惯,而不是仅仅换了一种语法外衣。

原生 Python 打开了新大门

英伟达在 CUDA 中原生支持 Python,使数百万开发者得以使用这一工具套件。此前,使用 CUDA 需要掌握 C++ 或 Fortran。虽然此前也有一些 Python 工具,但并非原生集成。
据 Futurum Group 数据,2023 年 CUDA 用户数量为 400 万,相比 2020 年的 200 万翻了一番。但 Python 是世界上增长最快的编程语言。英伟达现在能接触到数以百万计的 Python 开发者,特别是在印度、巴西等开发中国家,这些地方的开发者在开源项目中表现非常活跃。
同时,Python 支持也将让英伟达的基础设施更适用于新兴市场。目前英伟达的大量 GPU 部署在美国和欧洲,但印度等国的通信和基础设施公司正在建设大型 GPU 安装项目,未来几年将陆续投入使用。
此外,英伟达正在加大对程序员的招募力度,并计划支持更多编程语言,比如 Rust 和 Julia。

Pythonic CUDA 是如何打造的?

CUDA 包括了库、SDK、编译器、主机端运行时、工具以及预打包的软件和算法。英伟达为整个 Pythonic CUDA 技术栈增加了新的组件。
英伟达的目标是:在不离开 Python 的情况下实现 GPU 加速。Jones 说,CUDA 的 Python 版不能只是提供 kernel,还需要整个技术栈的支持,并且执行流程要顺畅。
“你要能写一个 kernel,把它直接嵌入到 PyTorch 中;同时也要能调用各种 Python 风格的库,”Jones 表示。
新的体系几乎不涉及传统编译器层,而是围绕 JIT(即时编译)机制构建的,这大大减少了 GPU 技术栈中的依赖项。
Jones 说:“保持各层之间的良好互操作性,将极大提升生产力,也能真正实现 Python 的端到端开发。”
最初,英伟达构建了基础的 Python 绑定(包括运行时编译器)以及像 cuPyNumeric 这样的库。cuPyNumeric 是 NumPy 的直接替代,只需要修改一个 import 指令,就可以让原本运行在 CPU 上的 NumPy 代码,直接切换到 GPU 上执行。
“CUDA Core 是对 CUDA 运行时的 Python 化重塑,自然且原生地融入 Python。”
——Stephen Jones,CUDA 架构师
在过去一年中,英伟达开发了 CUDA Core,Jones 形容它是“对 CUDA 运行时的 Python 化重塑”,拥有完全符合 Python 语言特性的执行流程,深度依赖 JIT 编译。
Jones 还指出,开发者无需再使用命令行编译器,可以完全在 Python 进程中完成,大幅减少了技术栈中的依赖。
英伟达还开发了 NVMath Python 库,实现主机端与设备端统一接口调用。Jones 表示,这种调用融合带来了巨大的性能提升。
此外,公司还构建了可以从 Python 直接访问加速版 C++ 库的机制。
Jones 说:“因为这些都是基于我们多年构建的底层基础设施……我们并没有用 Python 重写一遍,而是直接链接了底层优化过的 C++ 代码,因此性能几乎没有差别。”
英伟达还增加了性能分析器和代码分析器等工具。

编程模型

Python 的特点是让编码变得简单,开发者不必过多关心底层硬件。因此,英伟达正在构建一个与 GPU 高层抽象执行对齐的新编码层。
这种新编程模型被称为 CuTile 接口,首先将在 Pythonic CUDA 中实现,未来也会扩展到 C++ CUDA。
CuTile 是一种更“柏拉图式”的思路,符合 Python 程序员习惯使用数组而非线程的思考模式(线程更多属于 C++ 的领域)。
不过,开发者不能直接把普通 Python 代码搬到 GPU 上加速。CUDA 的传统方式是把大问题切分成数千个小块,分别在 GPU 上并行处理。
这些小块进一步划分为更小的 tiles,每个 tile 运行数千个线程来处理单个元素,然后再组合成一个完整的运算。
GPU 的强大算力正是来源于这种细粒度并行。
英伟达发现,执行计算并不总需要细化到线程级,很多时候在 tile 级别进行处理就足够了,CuTile 就是为此而生的。
与 C++ 不同,Python 天生就不倾向于做过度细粒度的控制。
CuTile 高效地在较粗粒度层面上将数组映射到 GPU,使得代码更容易理解和调试。而且,“最终性能几乎是一样的,”Jones 强调。
tile 中的数据可以以向量、张量或数组的形式组织。编译器可以更好地把整个数组操作映射到一组 GPU 线程。
Jones 说:“很多时候,编译器的优化效果甚至比我手写的还要好,因为它能深刻理解我的意图和 GPU 的运行细节。”
他补充道,OpenAI 的 Triton 就是一个很好的例子,类似的工具非常适合 Python 程序员使用。

英伟达已经为 Python 铺平了通向 GPU 世界的高速路。想抓住这波机会?建议大家:别只停留在收藏和观望上,动手才是关键。
从最基础的语法,到能写出自己的 AI 小项目,这些书都能帮你打好地基,稳步进阶!👇

Python基础


《Python编程:从入门到实践(第3版) 》

[美]埃里克·马瑟斯 | 著

袁国忠 | 译


Python 入门圣经,Python 圈最有影响力的图书,影响全球超过 250 万读者,长居 Amazon、京东等网店编程类图书榜首,真正零基础,附赠随书代码+配套视频讲解+速查手册,自学无压力。

全书分两部分:第一部分介绍用 Python 编程所必须了解的基本概念,包括强大的 Python 库和工具,以及列表、字典、if 语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的 2D 游戏、利用数据生成交互式的信息图以及创建和定制简单的Web应用,并帮助读者解决常见编程问题和困惑。


《 流畅的Python(第2版) 》

 [巴西]卢西亚诺·拉马略 | 著

安道 | 译


本书是 Python 领域备受推崇的经典作品,致力于帮助 Python 开发人员挖掘这门语言及相关程序库的优秀特性,写出简洁、流畅、易读、易维护,并且地道的 Python 代码。
本书着重讲解 Python 语言所独有的功能,助你成功进阶为 Python 高手。第 2 版与时俱进,教你跳出旧有经验,探索并运用地道的 Python 3 功能。第 2 版分为五部分内容:数据结构、函数即对象、类和协议、控制流、元编程。每一部分都精彩纷呈,通过丰富的示例和细致的讲解,教你充分利用 Python 特性,写出高效且现代的 Python 3 代码。

《 Python工匠:案例、技巧与工程实践 》

朱雷(@piglei)| 著


本书基于“Python工匠”系列,豆瓣评分 9.2 分,作者融入互联网大厂工程实践经验,聚焦真实项目中高频使用的 Python 编程核心知识点。


《CPython设计与实现》
安东尼 · 肖 | 著
史海,赵羽,陈啸,李俊辰|译

Python 之父 Guido van Rossum 推荐、CPython 核心开发者 Carol Willing 作序!这本书以一种平易近人的方式解释了 Python 解释器的概念、思想和技术细节。

本书从语法解析、编译器等基础概念出发,深入求值循环、内存管理等 CPython 解释器实现细节。轻松!简明!豁然开朗!手把手带你重新编译 CPython,了解 Python 的内部实现。


人工智能

《深度学习入门:基于Python的理论与实现》

斋藤康毅 | 著

陆宇杰 | 译

本书是深度学习真正意义上的入门书,深入浅出地剖析了深度学习的原理和相关技术。书中使用 Python3,尽量不依赖外部库或工具,从基本的数学知识出发,带领读者从零创建一个经典的深度学习网络,使读者在此过程中逐步理解深度学习。

《深度学习入门2:自制框架》

[日]斋藤康毅 | 著
郑明智 | 译

深度学习鱼书姊妹篇,这套书做到了真正意义上的“入门”!书中没有使用内容不明的黑盒,而是从我们能理解的最基础的知识出发,一步一步地实现最先进的深度学习技术。

美国物理学家费曼说:“What I cannot create,I do not understand.” 只有创造一个东西,才算真正弄懂了一个问题。这本书手把手带你创建深度学习框架,直击现代深度学习框架本质!

《深度学习进阶:自然语言处理》
[日]斋藤康毅 | 著
陆宇杰 | 译

豆瓣评分 9.4 的畅销书《深度学习入门:基于Python的理论与实现》续作,带你快速直达自然语言处理领域!本书内容精炼,聚焦深度学习视角下的自然语言处理,延续前作的行文风格,采用通俗的语言和大量直观的示意图详细讲解,帮助读者加深对深度学习技术的理解,轻松入门自然语言处理。


《深度学习入门4:强化学习》

斋藤康毅 | 著

郑明智 | 译

豆瓣评分 9.6,深受读者喜爱的“鱼书”系列第四弹,深度学习入门经典,从零开始掌握强化学习。沿袭“鱼书”系列风格,提供实际代码,边实践边学习,无须依赖外部库,从零开始实现支撑强化学习的基础技术。
《Python深度学习(第2版)》
[美] 弗朗索瓦·肖莱 | 著
张亮 | 译

本书由深度学习框架 Keras 之父弗朗索瓦·肖莱执笔,通过直观的解释和丰富的示例帮助你构建深度学习知识体系。作者避免使用数学符号,转而采用 Python 代码来解释深度学习的核心思想,包括 Transformer 架构的原理和示例。
    
《Python机器学习基础教程》
Andreas C. Müller   Sarah Guido | 著
张亮(hysic)| 译

scikit-learn 库维护者和核心贡献者作品。本书主要内容包括:机器学习的基本概念及其应用;实践中最常用的机器学习算法以及这些算法的优缺点;在机器学习中待处理数据的呈现方式的重要性,以及应重点关注数据的哪些方面;模型评估和调参的高级方法,重点讲解交叉验证和网格搜索;管道的概念;如何将前面各章的方法应用到文本数据上,还介绍了一些文本特有的处理方法。

《机器学习实战》
Peter Harrington | 著

李锐 李鹏 曲亚东 王斌 | 译


最畅销机器学习图书,介绍并实现机器学习的主流算法,面向日常任务的高效实战内容。全书通过精心编排的实例,切入日常工作任务,摒弃学术化语言,利用高效的可复用 Python 代码来阐释如何处理统计数据,进行数据分析及可视化。通过各种实例,读者可从中学会机器学习的核心算法,并能将其运用于一些策略性任务中,如分类、预测、推荐。另外,还可用它们来实现一些更高级的功能,如汇总和简化等。

《深入浅出神经网络与深度学习》
迈克尔·尼尔森 | 著
朱小虎  | 译

知名计算机科学家 Michael Nielsen 作品,哈工大研究生课程参考书,李航、马少平等多位业内专家推荐。

本书深入讲解神经网络和深度学习技术,侧重于阐释深度学习的核心概念。作者以技术原理为导向,辅以贯穿全书的 MNIST 手写数字识别项目示例,介绍神经网络架构、反向传播算法、过拟合解决方案、卷积神经网络等内容,以及如何利用这些知识改进深度学习项目。学完本书,读者将能够通过编写 Python 代码来解决复杂的模式识别问题。


Python算法

《算法图解(第2版)》

[美] 阿迪蒂亚 · Y. 巴尔加瓦 | 著

袁国忠 | 译

全书共分为 13 章,前 3 章内容助你打好算法基础,包括二分查找、大 O 表示法、数组、链表和递归等。余下的篇幅介绍了有广泛应用的算法,以及面对具体问题时的解决技巧,比如何时使用贪婪算法或动态规划,哈希表的应用,图和树算法,K 最近邻算法等。

第 2 版保留原有的轻松风格。400+图示,图解算法复杂理论,让算法概念一目了然,学习不再枯燥!另外,作者紧跟读者需求将书中代码基于 Python 3 全面更新,并新增了两章专门讨论树,加之诸多修订,内容更加完善。


《Hello 算法》

靳宇栋(@krahets)|著


动画图解、一键运行的数据结构与算法教程,GitHub Star 63.9k !近 500 幅动画插图,近 200 段精选代码,助你快速入门数据结构与算法。
书中系统介绍了数据结构与算法基础、复杂度分析、数组与链表、栈与队列、哈希表、树、堆、图、搜索、排序、分治、回溯、动态规划和贪心算法等核心知识,通过清晰易懂的解释和丰富的代码示例,以及生动形象的全彩插图和在线动画图解,揭示算法工作原理和数据结构底层实现,教授读者如何选择和设计最优算法来解决不同类型的问题,切实提升编程技能,构建完整的数据结构与算法知识体系。

《Python数据结构与算法分析(第3版)》
布拉德利·N. 米勒,戴维·L. 拉努姆 等 | 著

吕能,刁寿钧 | 译


作为用 Python 描述数据结构与算法的开山之作,这本书是经典的计算机教材,被华盛顿大学、北京大学等多家高校采用。
向读者透彻讲解在 Python 环境下,如何通过一系列存储机制高效地实现各类算法。
内容对初学者友好,开篇介绍了基于大 O 计法的算法分析,并通篇运用,使用 Python 3 讲解,语法干净。深入浅出,理论扎实,案例丰富。每章还配有练习题,方便巩固学习。

Python数据分析与处理


《Python网络爬虫开发实战(第 2 版)》

崔庆才 | 著

Python 之父 Guido van Rossum 推荐的爬虫入门书,第 1 版销量近 100000 册。本书介绍了如何利用 Python 3 开发网络爬虫。本书为第 2 版,相比于第 1 版,为每个知识点的实战项目配备了针对性的练习平台,避免了案例过期的问题。
另外,主要增加了异步爬虫、JavaScript 逆向、App 逆向、页面智能解析、深度学习识别验证码、Kubernetes 运维及部署等知识点,同时也对各个爬虫知识点涉及的请求、存储、解析、测试等工具进行了丰富和更新。
《Excel+Python:飞速搞定数据分析与处理》
[瑞士]费利克斯•朱姆斯坦|著
冯黎|译

流行 Python 库 xlwings 创始人亲授,教你让 Excel 快得飞起来。办公人士零压力学 Python ,轻松突破 Excel 瓶颈,拓展解决问题思路。让你告别烦琐公式和 VBA 代码,将 Excel 任务自动化,实现效率飞跃。让 Excel 和 Python 珠联璧合,避免人为错误,精准完成数据处理。

少儿编程

《父与子的编程之旅:与小卡特一起学Python(第3版)》
[美]沃伦·桑德;卡特·桑德 | 著

杨国其,苏金国,易郑超 | 译


原版 Amazon 最受欢迎的青少年编程图书,上到 8 岁,下到 88 岁,都可以阅读这本书!沃伦和卡特父子以亲切的笔调、通俗的语言,透彻、全面地介绍了使用Python语言进行计算机编程的世界。通过可爱的漫画、有趣的示例,生动地介绍了变量、循环、输入和输出、数据结构以及图形用户界面等基本的编程概念。相较第 2 版,第 3 版的示例使用 Python 3 而不是 Python 2,另外添加了关于网络的新内容。


程序员数学

用Python学透线性代数和微积分》

保罗·奥兰德|著

百度KFive|译

以图文结合的方式帮助你用 Python 代码解决程序设计中的线性代数和微积分问题:

√ 向量几何和计算机图形 

√ 矩阵和线性变换 

√ 微积分的核心概念 

√ 仿真和优化 

√ 图像处理和音频处理 

√ 用于回归和分类的机器学习算法




你是如何摸学习python的?


关注IT服务圈儿并在留言区参与互动,我们将选N名读者获得赠书1本(文中书籍任选) 截止时间5月14日


活动截止时间:2025 年 05 月 14 日 16:00 整

兑奖截止时间:2025 年 05 月 16 日 16:00 整

1、这个问题99%的人会答错!包括我
2、部署完DeepSeek之后,到底要怎么用好它?(文末送书)
3、尤雨溪宣布:Vue 生态正式引入 AI!
4、只会用DeepSeek还不够,结合66个AI工具瞬变职场超人!
5、 程序员必备:使用Cursor+MCP 提高开发效率+避坑指南(文末送书)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/182055
 
24 次点击