适用于AMD ROC GPU的Numba概述

适用于AMD ROC GPU的Numba概述

Numba通过按照HSA执行模型将Python代码的受限子集直接编译到HSA内核和设备功能中,从而支持AMD ROC GPU编程。用Numba编写的内核似乎可以直接访问NumPy数组。

术语

以下列出了HSA编程主题中的几个重要术语:

  • 内核:由主机启动并在设备上执行的GPU功能
  • 设备功能:在设备上执行的GPU功能,只能从设备(即从内核或其他设备功能)调用

需求

本文档 介绍了使用ROC的要求。从本质上讲,需要AMD dGPU(iji, Polaris and Vega families,Polaris和Vega系列)和支持PCIe Gen3和PCIe Atomics的CPU(AMD Ryzen和EPYC,以及Intel CPU> = Haswell),链接的文档中有完整的详细信息。此外,还需要Linux操作系统,链接的文档中也列出了受支持和测试的Linux操作系统。

安装

请按照本文档 中的安装说明为系统启用ROC支持。确保将二进制软件包用于系统的linux发行版,以简化该过程。此时,应通过运行以下命令测试安装:

$ /opt/rocm/bin/rocminfo

其输出应列出至少两个HAS设备,其中至少一个应为CPU,至少一个应为dGPU。

假设安装工作正常,roctools则可通过condaNumba渠道与Numba一起通过软件包安装Numba的ROC支持,如下所示(创建名为的环境 numba_roc):

$ conda create -n numba_roc -c numba numba roctools

激活环境,然后运行Numba诊断工具,应确认Numba在启用ROC支持的情况下运行,例如:

$ source activate numba_roc

$ numba -s

输出应包含类似于以下内容的部分:numba -s

__ROC Information__

ROC available                       : True

Available Toolchains                : librocmlite library, ROC command line tools

 

Found 2 HSA Agents:

Agent id  : 0

    vendor: CPU

    name: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz

    type: CPU

 

Agent id  : 1

    vendor: AMD

    name: gfx803

    type: GPU

 

Found 1 discrete GPU(s)             : gfx803

确认ROC可用,列出可用的工具链并显示HAS设备和dGPU计数。

 

posted @   吴建明wujianming  阅读(336)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示