NVIDIA为CUDA添加原生Python支持
Hacker News 摘要原标题:Nvidia adds native Python support to CUDA
NVIDIA近期在GTC大会上宣布,CUDA工具包终于添加了对Python的原生支持。这一变化使开发者无需掌握C或C++编程语言,就能直接在NVIDIA的GPU上执行算法风格的计算。根据GitHub的2024年开源调查,Python已成为全球最受欢迎的编程语言,超过了JavaScript。CUDA最初是基于C和C++开发的,此次更新标志着它向更广大的开发者群体开放。
NVIDIA的CUDA工具集曾要求开发者具备C++或Fortran的知识,虽然之前有Python相关的工具,但并未提供原生支持。当前,CUDA用户在2023年达到400万,而这一数字在2020年为200万。Python是增长最快的编程语言,NVIDIA通过原生Python支持,能够接触到成千上万的Python开发者,尤其是在印度和巴西等发展中国家。
新增加的Python支持使得NVIDIA的基础设施能够适应新兴市场。虽然NVIDIA的GPU主要集中在美国和欧洲,但印度的电信和基础设施公司正在建设大型GPU设施,预计在未来几年投入使用。NVIDIA希望通过招募更多程序员来支持更多编程语言,包括Rust和Julia。
在工具包中,NVIDIA引入了多个库和SDK。为了确保GPU加速的需求,CUDA Python不仅仅是将C语言翻译成Python语法,而是提供了自然的Python接口。CUDA Core是一个“Pythonic重新构想的CUDA运行时”,完全符合Python的执行流程,并使用即时编译(JIT)技术,以减少对GPU栈中依赖性的影响。
NVIDIA还创建了名为NVMath Python的库,用于统一主机和设备端的库调用。此外,NVIDIA还增加了性能分析器和代码分析工具,帮助程序员更好地调试代码。新的CuTile编程模型将首先为Pythonic CUDA开发,后续会扩展到C++版本,主要是为了符合Python程序员对数组而非线程的思考方式。
由于计算资源分配的独特性,CUDA通常将问题分解成数千个小块在GPU上并行处理,而CuTile编程模型则在较少的粒度上进行处理,简化了代码阅读和调试。此外,编译器能够更好地将整个数组操作映射到GPU,这提高了性能和效率。
NVIDIA的跨层兼容性和新的编程模型使得从Python代码到GPU加速的转变更加顺利,最终目标是提高程序员的生产力,推动更多的开发者参与到GPU应用的开发中。
原文:https://thenewstack.io/nvidia-finally-adds-native-python-support-to-cuda/