得益于过去数十年间计算能力的提升,深度学习,计算机视觉,生物医疗等众多领域都得到了飞速发展,但与此同时,各行业对计算能力的要求也越来越高,单一的串行计算已经难以满足计算需求,而并行计算无疑是当下提升计算能力的最佳方案。
作为当前最主流的并行化程序编程方法之一,CUDA 能实现在 CPU 和 GPU 上的异构编程,有效地管理可用资源并提供最大化的执行速度增益。在当前火热的高性能计算、人工智能等领域,CUDA 也都展现了它不俗的实力。可以说,掌握了 CUDA,就掌握了一把通向并行计算世界的钥匙。
传统编程语言不够“友好”
在 CUDA 开发的过程中,C 语言和 C++ 凭借天生优越的可移植性和可扩展性,曾一直都是开发者的最佳选择之一。但强大、优越的性能也注定了需要开发者提前进行大量的知识技能储备以及实战经验,这无疑为 CUDA 在开发者群体中的普及限制了很多条件。除此之外,C 和 C++ 的开发效率也并不高,以所有开发者的第一行代码“hello world”为例,C 和 C++ 需要 4 行代码,而用 Python 实现则只需要 1 行。
不只是在语法上更加简洁,Python 在各方面的使用门槛都要低于 C 和 C++。因为 Python 数据类型丰富,代码结构清晰,并且背靠强大的开源类库,因此用 Python 进行开发比其他语言更便捷高效,即便是零经验的新手也能轻松掌握。如果能用 Python 来写 CUDA,对开发者而言无疑是最理想的场景。
用 Python,新手也能写好 CUDA!
Numba 编译器的出现,让一切成为了可能。
Numba 是一个支持 Python CUDA 的编译器,它