ROCm

De la Viquipèdia, l'enciclopèdia lliure
ROCm

TipusDesvolopaire full stack (oc) Tradueix, API i programari lliure Modifica el valor a Wikidata
Versió estable
6.1.0 (16 abril 2024) Modifica el valor a Wikidata
Llicènciallicència MIT Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiuLinux i Microsoft Windows Modifica el valor a Wikidata
Equip
Desenvolupador(s)AMD Modifica el valor a Wikidata
Més informació
Lloc webamd.com… (anglès) Modifica el valor a Wikidata
Guia d'usuariGuia d'usuari Modifica el valor a Wikidata

GitHub: ROCm

ROCm [1] és una pila de programari Advanced Micro Devices (AMD) per a la programació d'unitats de processament gràfic (GPU). ROCm abasta diversos dominis: informàtica de propòsit general en unitats de processament gràfic (GPGPU), informàtica d'alt rendiment (HPC), informàtica heterogènia. Ofereix diversos models de programació: HIP (programació basada en el nucli de GPU), OpenMP / Message Passing Interface (MPI) (programació basada en directives) i OpenCL.

ROCm és programari lliure, lliure i de codi obert (excepte els blobs de firmware de la GPU [2]), es distribueix sota diverses llicències. ROCm inicialment significava Radeon Open Compute platform; tanmateix, com que Open Compute és una marca registrada, ROCm ja no és un acrònim, sinó que és simplement la pila de codi obert d'AMD dissenyada per a càlcul GPU.

Rerefons[modifica]

La primera pila de programari GPGPU d'ATI /AMD va ser Close to Metal, que es va convertir en Stream.

ROCm es va llançar al voltant de 2016 [3] amb la Iniciativa Boltzmann.[4] La pila ROCm es basa en piles anteriors de GPU d'AMD, algunes eines es remunten a GPUOpen, d'altres a l'Arquitectura de sistema heterogeni (HSA).

Arquitectura de sistemes heterogenis Llenguatge intermedi[modifica]

HSAIL [5] tenia com a objectiu produir una representació intermèdia de nivell mitjà, independent del maquinari, que es podria compilar amb JIT al maquinari eventual (GPU, FPGA...) utilitzant el finalitzador adequat. Aquest enfocament es va abandonar per a ROCm: ara només construeix codi GPU, utilitzant LLVM, i el seu backend AMDGPU que es va actualitzar, [6] encara que encara hi ha investigacions sobre aquesta modularitat millorada amb LLVM MLIR.[7]

Habilitats de programació[modifica]

ROCm com a pila va des del controlador del nucli fins a les aplicacions d'usuari final. AMD té vídeos introductoris sobre el maquinari AMD GCN, [8] i la programació ROCm [9] a través del seu portal d'aprenentatge.[10]

Una de les millors presentacions tècniques sobre la pila i la programació ROCm/HIP es troba, fins ara, a Reddit.[11]

Suport de maquinari[modifica]

ROCm està dirigit principalment a GPU professionals discretes, [12] però el suport no oficial inclou les GPU de consum de la família Vega i RDNA 2.

Les unitats de processador accelerat (APU) estan "habilitades", però no s'admeten oficialment. Hi ha implicat tenir ROCm funcional.[13]

Referències[modifica]

  1. «Question: What does ROCm stand for? · Issue #1628 · RadeonOpenCompute/ROCm» (en anglès). Github.com. [Consulta: January 18, 2022].
  2. «Debian -- Details of package firmware-amd-graphics in buster» (en anglès). Packages.debian.org. [Consulta: January 18, 2022].
  3. «AMD @ SC16: Radeon Open Compute Platform (ROCm) 1.3 Released, Boltzmann Comes to Fruition» (en anglès). anandtech.com. [Consulta: January 19, 2022].
  4. «AMD @ SC15: Boltzmann Initiative Announced - C++ and CUDA Compilers for AMD GPUs» (en anglès). anandtech.com. [Consulta: January 19, 2022].
  5. «HSA Programmer's Reference Manual: HSAIL Virtual ISA and Programming Model, Compiler Writer, and Object Format (BRIG)» (en anglès). HSA Foundation, May 2, 2018. [Consulta: August 1, 2023].
  6. «User Guide for AMDGPU Backend — LLVM 13 documentation» (en anglès). Llvm.org. [Consulta: January 18, 2022].
  7. «The LLVM Compiler Infrastructure» (en anglès). GitHub, January 19, 2022.
  8. «Introduction to AMD GPU Hardware» (en anglès).
  9. «Fundamentals of HIP Programming» (en anglès). Arxivat de l'original el 2023-02-07.
  10. «ROCm™ Learning Center» (en anglès). AMD.
  11. «AMD ROCm / HCC programming: Introduction» (en anglès), December 26, 2018.
  12. «AMD Documentation - Portal» (en anglès).
  13. «Here's something you don't see every day: PyTorch running on top of ROCm on a 6800M (6700XT) laptop! Took a ton of minor config tweaks and a few patches but it actually functionally works. HUGE!» (en anglès), December 10, 2021.