• 适用于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计数。

    人工智能芯片与自动驾驶
  • 相关阅读:
    Game of War
    Unreal Engine 4 性能优化工具(Profiler Tool)
    触屏设备上的多点触碰检测C++代码实现
    独立游戏设计流程:从概念到写码的13个步骤
    ue4 多相机分屏与小地图效果实现教程
    Unreal Engine 4 笔记 2
    3dsMax模型转UE4
    以《西游记》为例 详解游戏设计归纳演绎法
    假期关于产品-设计-逻辑-市场-团队思考节选30篇
    Unreal Engine 4 笔记
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/14193693.html
Copyright © 2020-2023  润新知