C114门户论坛百科APPEN| 举报 切换到宽版

亚星游戏官网

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

亚星游戏官网-yaxin222  新兵

注册:2023-5-18
发表于 2024-11-7 10:57:17 |显示全部楼层

**[CUDA](https://en.wikipedia.org/wiki/CUDA)** 计算平台可以让开发者在 NVIDIA GPU 上实现大规模并行计算,从而加速应用程序的实行,节省宝贵的时间资源。

**[Numba](http://numba.pydata.org/)** 是一款即时(JIT) Python 函数编译器,提供简洁的 API 用于加速 Python 函数运行。对希翼使用 GPU 加速其应用又不想写 C/C++ 代码的同学而言,Numba 是个极具吸引力的选择,而对日常使用 NumPy 实行大量计算任务的开发者来说,Numba 更是不二之选。Numba 可用于加速 CPU 上运行的 Python 函数,同样也适用于在 NVIDIA GPU 进行应用加速。**本课程侧重讲解使用 Numba 在 GPU 上加速 Python 应用程序所需的基础技能。**

## 什么是 Numba?

Numba 是一个**类型专用**的**即时函数编译器**,用于为 CPU 或 GPU 加速**以数值计算为主的** Python 函数。此定义很长,下面就让大家逐一解析这些术语:

* **函数编译器**:Numba 用于编译 Python 函数,而非整个应用程序,它也不是函数的一部分。Numba 不会取代 Python 说明器,而仅作为另一个 Python 模块,将普通函数转化为实行速度更快的函数(通常情况下)。
* **类型专用**:Numba 可为您当前使用的特定数据类型生成专门的实行代码,从而加速函数运行。Python函数被设计为对通用数据类型进行操作,这为其带来了极大的灵活性,但也严重拖慢了运行速度。实际上,您只会调用具有少量参数类型的函数,因此Numba会为每种类型的集合生成快速实现。
* **即时**:在函数首次被调用时,Numba 会对它们进行转换,这样可以确保编译器知道您将使用的参数类型。这也使得Numba可以像传统应用程序一样轻松地在Jupyter笔记本中交互使用。
* **以数字计算为主**:Numba 目前以处理数值型数据类型为主,如 `int`、`float` 和 `complex`。字符串处理支撑极为受限,且许多字符串处理函数还无法在 GPU 上获得有效加速。若要借助 Numba 获得最佳加速效果,您可能需要搭配使用 NumPy 数组。

## Numba 使用要求

Numba 支撑各类操作系统:

* Windows 7 及以上版本,32 和 64 位
* macOS 10.9 及以上版本,64 位
* Linux(RHEL 5 及以上的大多数版本),32 和 64 位

Numba 还支撑多种 Python 版本:

* Python 2.7、3.4 至 3.6 版本
* NumPy 1.10 及以上版本

此外,其还支撑各类硬件:

* x86、x86_64 及 AMD64 CPU
* NVIDIA CUDA GPU(计算能力 3.0 及更高级别,CUDA 8.0 及以上版本)
* AMD GPU(实验性补丁)
* ARM(实验性补丁)

本课程将使用 Linux 64 位和 CUDA 9 版本。

举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系大家 |网站地图  

GMT+8, 2024-11-13 23:04 , Processed in 0.106310 second(s), 16 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部
XML 地图 | Sitemap 地图