กลับไปหน้าบทความ

อ่าน 10 นาที

ROCm

ROCm เป็น ชุดซอฟต์แวร์ของ Advanced Micro Devices (AMD) สำหรับ การเขียนโปรแกรม หน่วยประมวลผลกราฟิก (GPU) ROCm ครอบคลุมหลายโดเมน รวมถึง การประมวลผลทั่วไปบนหน่วยประมวลผลกราฟิก...

ROCm

ROCm
นักพัฒนาเอดีเอ็ม
ปล่อย14 พฤศจิกายน 2559 ( 14 พฤศจิกายน 2016 )
เวอร์ชันเสถียร
7.2.4 [ 1 ] แก้ไขข้อมูลนี้บนวิกิดาต้า / 29 พฤษภาคม 2026 ( 29 พฤษภาคม 2569 )
เขียนเป็นC , C++ , Python , Fortran , Julia
มิดเดิลแวร์สะโพก
เครื่องยนต์ไดรเวอร์เคอร์เนลAMD GPU , HIPCC , คอมไพเลอร์ที่ใช้LLVM
ระบบปฏิบัติการลินุกซ์ , วินโดวส์[ 2 ]
แพลตฟอร์มการ์ดจอที่รองรับ
ผู้มาก่อนใกล้โลหะ , สตรีม , HSA
ขนาด<2 กิกะไบต์
พิมพ์ไลบรารีและ API ของ GPGPU
ใบอนุญาตใบอนุญาต MIT
เว็บไซต์www.amd.com/en/products/software/rocm.html
ที่เก็บข้อมูลเม ตารีโพสิทอรีgithub.com/ROCm/ROCm

ROCmเป็น ชุดซอฟต์แวร์ของ Advanced Micro Devices (AMD) สำหรับ การเขียนโปรแกรม หน่วยประมวลผลกราฟิก (GPU) ROCm ครอบคลุมหลายโดเมน รวมถึงการประมวลผลทั่วไปบนหน่วยประมวลผลกราฟิก (GPGPU) การประมวลผลประสิทธิภาพสูง (HPC) และการประมวลผลแบบเฮเทอโรจีนัส โดย มีรูปแบบการเขียนโปรแกรมหลายแบบ ได้แก่HIP ( การเขียน โปรแกรม บนเคอร์เนล GPU ) OpenMP ( การเขียนโปรแกรมแบบใช้คำสั่ง ) และOpenCL

ROCm เป็นซอฟต์แวร์ฟรี เสรี และโอเพนซอร์ส (ยกเว้น เฟิร์มแวร์ GPU [ 3 ] ) และมีการแจกจ่ายภายใต้ใบอนุญาตต่างๆ ชื่อนี้เดิมทีหมายถึง Radeon Open Compute platform [ 4 ]อย่างไรก็ตาม เนื่องจากOpen Computeเป็นเครื่องหมายการค้าจดทะเบียน ชื่อนี้จึงไม่สามารถทำหน้าที่เป็นคำย่อได้อีกต่อไป[ 5 ]

พื้นหลัง

ซอฟต์แวร์ GPGPU ตัวแรกจากATI /AMD คือClose to Metalซึ่งต่อมาพัฒนาเป็น Stream

ROCm เปิดตัวราวปี 2016 [ 6 ]พร้อมกับโครงการBoltzmann Initiative [ 7 ]สแต็ก ROCm สร้างขึ้นบนสแต็ก GPU ของ AMD รุ่นก่อนหน้า เครื่องมือบางอย่างสืบย้อนไปถึงGPUOpenและบางอย่างสืบย้อนไปถึงHeterogeneous System Architecture (HSA)

ภาษาตัวกลางสถาปัตยกรรมระบบที่ไม่เป็นเนื้อเดียวกัน

HSAIL [ 8 ]มีเป้าหมายเพื่อสร้างการแสดงผลระดับกลางที่ไม่ขึ้นกับฮาร์ดแวร์ ซึ่งสามารถคอมไพล์แบบ JIT ไปยังฮาร์ดแวร์ขั้นสุดท้าย (GPU, FPGA...) โดยใช้ finalizer ที่เหมาะสม แนวทางนี้ถูกยกเลิกสำหรับ ROCm: ตอนนี้มันสร้างเฉพาะโค้ด GPU โดยใช้LLVMและแบ็กเอนด์ AMDGPUที่ได้รับการรวมเข้าไว้[ 9 ]แม้ว่าจะยังมีการวิจัยเกี่ยวกับโมดูลาร์ที่ได้รับการปรับปรุงดังกล่าวด้วย LLVM MLIR อยู่ก็ตาม [ 10 ]

ความสามารถในการเขียนโปรแกรม

ROCm ในฐานะสแต็กครอบคลุมตั้งแต่ไดรเวอร์เคอร์เนลไปจนถึงแอปพลิเคชันของผู้ใช้ปลายทาง AMD มีวิดีโอแนะนำเกี่ยวกับฮาร์ดแวร์ AMD GCN [ 11 ]และการเขียนโปรแกรม ROCm [ 12 ]ผ่านทางพอร์ทัลการเรียนรู้[ 13 ]

หนึ่งในบทนำทางเทคนิคที่ดีที่สุดเกี่ยวกับสแต็กและการเขียนโปรแกรม ROCm/HIP ยังคงพบได้ใน Reddit จนถึงปัจจุบัน[ 14 ]

การรองรับฮาร์ดแวร์

ROCm มุ่งเป้าไปที่ GPU ระดับมืออาชีพแบบแยกส่วนเป็นหลัก[ 15 ]แต่ GPU และ APU สำหรับผู้บริโภคที่มีสถาปัตยกรรมเดียวกันกับ GPU ระดับมืออาชีพที่รองรับก็สามารถใช้งานร่วมกับ ROCm ได้เช่นกัน ตัวอย่างเช่น GPU ระดับมืออาชีพทั้งหมดที่มี สถาปัตยกรรม RDNA 2ได้รับการสนับสนุนอย่างเป็นทางการโดย ROCm 5.x ผู้ใช้รายงานว่าหน่วยประมวลผล RDNA2 สำหรับผู้บริโภค เช่น Radeon 6800M APU และ Radeon 6700XT GPU ก็สามารถใช้งานได้เช่นกัน[ 16 ]

การ์ดจอระดับมืออาชีพ

จีพียูระดับผู้บริโภค

ชื่อซีรี่ส์ GPUหมู่เกาะทางใต้หมู่เกาะทะเลหมู่เกาะภูเขาไฟหมู่เกาะ อาร์กติก/โพลาริสเวก้านาวี 1Xนาวี 2Xนาวี 3Xนาวี 4X
ปล่อยแล้ว มกราคม 2555 กันยายน 2556 มิถุนายน 2558 มิถุนายน 2559 มิถุนายน 2560 กรกฎาคม 2562 พฤศจิกายน 2020 ธันวาคม 2022 มกราคม 2568
ชื่อทางการตลาด การ์ดจอ Radeon HD 7000 การ์ดจอ Radeon RX 200 การ์ดจอ Radeon RX 300 การ์ดจอ Radeon RX 400/500 Radeon RX Vega/Radeon VII (7 นาโนเมตร) การ์ดจอ Radeon RX 5000 การ์ดจอ Radeon RX 6000 การ์ดจอ Radeon RX 7000 การ์ดจอ Radeon RX 9000
การสนับสนุน AMD เลขที่ปัจจุบัน
ชุดคำสั่งชุดคำสั่ง GCNชุดคำสั่ง RDNA
สถาปัตยกรรมไมโครGCN รุ่นที่ 1GCN รุ่นที่ 2GCN เจนเนอเรชั่นที่ 3GCN เจนเนอเรชั่นที่ 4GCN เจนเนอเรชั่นที่ 5อาร์ดีเอ็นเออาร์ดีเอ็นเอ 2อาร์ดีเอ็นเอ 3อาร์ดีเอ็นเอ 4
พิมพ์ โมเดลเชเดอร์แบบรวม
ROCm เลขที่ต้องใช้ตัวแปรสภาพแวดล้อมในเวอร์ชัน 5.x [ 17 ]ยกเลิกในเวอร์ชัน 6.x [ 18 ]ใช่[]ใช่
โอเพ่นซีแอล1.2 (บนLinux : 1.1 (ไม่รองรับรูปภาพ) พร้อม Mesa 3D) 2.0 (ไดรเวอร์ Adrenalin บนWindows 7 ขึ้นไป ) (บนLinux : 1.1 (ไม่รองรับรูปภาพ) กับ Mesa 3D, 2.0 กับไดรเวอร์ AMD หรือ AMD ROCm) 2.0 2.1 [ 21 ]
วัลคาน1.0 ( Windows 7 ขึ้นไปหรือMesa 17 ขึ้นไป ) 1.2 (อะดรีนาลีน 20.1, Linux Mesa 3D 20.0) 1.3
โมเดลเชเดอร์5.1 5.1 6.3 6.4 6.5 6.7
โอเพ่นจีแอล4.6 (บน Linux: 4.6 (Mesa 3D 20.0))
ไดเร็กต์3ดี11 ( 11_1 ) 12 ( 11_1 ) 11 ( 12_0 ) 12 ( 12_0 ) 11 ( 12_1 ) 12 ( 12_1 ) 11 ( 12_1 ) 12 ( 12_2 )
/drm/amdgpu[]การทดลอง[ 22 ]ใช่
  1. ^การสนับสนุน Navi 1.x ใน rocBLAS เสียหายจนถึงเวอร์ชัน 6.1 ก่อนเวอร์ชัน 5.3 สามารถใช้ตัวแปรสภาพแวดล้อมเพื่อบังคับให้ใช้โค้ด gfx1030 บน GPU เหล่านี้สำหรับฟังก์ชันบางอย่างได้ แต่เวอร์ชัน 5.3 ทำให้โค้ด gfx1030 ไม่สามารถทำงานบน GPU gfx1010 ได้อีกต่อไป [ 19 ] [ 20 ]
  2. ^ DRM ( Direct Rendering Manager ) เป็นส่วนประกอบหนึ่งของเคอร์เนลลินุกซ์

ระบบนิเวศซอฟต์แวร์

การเรียนรู้ของเครื่อง

เฟรมเวิร์ก การเรียนรู้เชิงลึกต่างๆมีแบ็กเอนด์ ROCm: [ 23 ]

ซูเปอร์คอมพิวเตอร์

ROCm กำลังได้รับความนิยมอย่างมากใน500 อันดับแรก [ 25 ] ROCmถูก ใช้กับซูเปอร์คอมพิวเตอร์ Exascale El Capitan [ 26 ] [ 27 ]และFrontier

ซอฟต์แวร์ที่เกี่ยวข้องบางส่วนสามารถพบได้ที่AMD Infinity hub

การเร่งความเร็วและการทำงานร่วมกันของกราฟิกอื่นๆ

ตั้งแต่เวอร์ชัน 3.0 เป็นต้นไปBlenderสามารถใช้ HIP compute kernels สำหรับrenderer cycles ได้[ 28 ]

ภาษาอื่นๆ

จูเลีย

Juliaมีแพ็คเกจ AMDGPU.jl [ 29 ]ซึ่งผสานรวมกับ LLVM และเลือกส่วนประกอบของสแต็ก ROCm แทนที่จะคอมไพล์โค้ดผ่าน HIP นั้น AMDGPU.jl ใช้คอมไพเลอร์ของ Julia เพื่อสร้าง LLVM IR โดยตรง ซึ่งต่อมา LLVM จะนำไปใช้เพื่อสร้างโค้ดอุปกรณ์เนทีฟ AMDGPU.jl ใช้การใช้งาน HSA ของ ROCr เพื่ออัปโหลดโค้ดเนทีฟไปยังอุปกรณ์และเรียกใช้งาน คล้ายกับวิธีที่ HIP โหลดโค้ดอุปกรณ์ที่สร้างขึ้นเอง

AMDGPU.jl ยังรองรับการทำงานร่วมกับ rocBLAS (สำหรับ BLAS), rocRAND (สำหรับการสร้างเลขสุ่ม) และ rocFFT (สำหรับ FFT) ของ ROCm ด้วย ในอนาคตมีแผนที่จะทำงานร่วมกับ rocALUTION, rocSOLVER, MIOpen และไลบรารีอื่นๆ ของ ROCm เพิ่มเติม

การจัดจำหน่ายซอฟต์แวร์

เป็นทางการ

คำแนะนำในการติดตั้งสำหรับ Linux และ Windows มีอยู่ในเอกสาร AMD ROCm อย่างเป็นทางการปัจจุบันซอฟต์แวร์ ROCm กระจายอยู่ทั่ว ที่เก็บ GitHub สาธารณะหลายแห่ง ภายในที่เก็บเมตา หลักสาธารณะ จะมีไฟล์ XMLสำหรับการเผยแพร่อย่างเป็นทางการแต่ละเวอร์ชัน การใช้git-repoซึ่งเป็น เครื่องมือ ควบคุมเวอร์ชันที่สร้างขึ้นบนGitเป็นวิธีที่แนะนำในการซิงโครไนซ์กับสแต็กในเครื่อง[ 30 ]

AMD เริ่มแจกจ่ายแอป พลิเคชันคอนเทนเนอร์สำหรับ ROCm โดยเฉพาะแอปพลิเคชันวิจัยทางวิทยาศาสตร์ที่รวบรวมไว้ภายใต้AMD Infinity Hub [ 31 ]

AMD จัดจำหน่ายแพ็กเกจที่ปรับแต่งให้เหมาะสมกับระบบปฏิบัติการ Linux ต่างๆ

บุคคลที่สาม

ระบบนิเวศของบุคคลที่สามที่ให้บริการแพ็กเกจ ROCmกำลัง เติบโตขึ้นเรื่อย ๆ

การแจกจ่าย Linux ได้ บรรจุ ROCm อย่างเป็นทางการ (โดยธรรมชาติ) โดยมีความก้าวหน้าในระดับต่างๆ กัน ได้แก่Arch Linux [ 32 ] Gentoo [ 33 ] Debian , Fedora [ 34 ] GNU Guix และ NixOS

มีแพ็กเกจSpack [ 35 ]

ส่วนประกอบ

มีส่วนประกอบในพื้นที่เคอร์เนลเพียงหนึ่งเดียว คือ ROCk และส่วนที่เหลือ ซึ่งมีอยู่ประมาณหนึ่งร้อยส่วนประกอบในสแต็กนั้น สร้างขึ้นจากโมดูล ในพื้นที่ผู้ใช้

นโยบายการพิมพ์ที่ไม่เป็นทางการคือการใช้ตัวพิมพ์ใหญ่ ROC และตัวพิมพ์เล็กสำหรับไลบรารีระดับต่ำ เช่น ROCt และในทางกลับกันสำหรับไลบรารีที่ผู้ใช้เข้าถึงได้ เช่น rocBLAS [ 36 ]

AMD กำลังพัฒนาร่วมกับชุมชน LLVM อย่างแข็งขัน แต่การอัปโหลดขึ้นสู่ต้นทางไม่ได้เกิดขึ้นทันที และ ณ เดือนมกราคม 2022 ก็ยังคงล่าช้าอยู่[ 37 ] AMD ยังคงบรรจุ LLVM เวอร์ชันต่างๆ อย่างเป็นทางการ[ 38 ] [ 39 ] [ 10 ]สำหรับส่วนที่ยังไม่ได้อัปโหลดขึ้นสู่ต้นทาง เช่น การเพิ่มประสิทธิภาพคอมไพเลอร์ที่ถูกกำหนดให้เป็นกรรมสิทธิ์ การสนับสนุนการดีบัก การถ่ายโอน OpenMP เป็นต้น

ระดับต่ำ

ROCK – ไดรเวอร์เคอร์เนล

ROCm – ไลบรารีอุปกรณ์

ไลบรารีสนับสนุนที่พัฒนาขึ้นโดยใช้บิตโค้ด LLVM ไลบรารีเหล่านี้มีเครื่องมือและฟังก์ชันต่างๆ สำหรับการคำนวณทางคณิตศาสตร์ คำสั่งอะตอมิก การสอบถามพารามิเตอร์การเริ่มต้น การเริ่มต้นเคอร์เนลบนอุปกรณ์ ฯลฯ

ROCt – Thunk

ส่วนของ thunkนั้นมีหน้าที่รับผิดชอบในการประมวลผลและจัดคิวข้อมูลทั้งหมดที่เกิดขึ้นในสแต็ก

ROCr – รันไทม์

ROC runtimeคือชุด API/ไลบรารีที่อนุญาตให้แอปพลิเคชันโฮสต์เรียกใช้เคอร์เนลการคำนวณ เป็นการใช้งาน API รันไทม์ HSA ของ AMD [ 40 ]ซึ่งแตกต่างจาก ROC Common Language Runtime

ROCm – การสนับสนุนคอมไพเลอร์

ตัวจัดการอ็อบเจ็กต์โค้ด ROCmมีหน้าที่ในการโต้ตอบกับตัวแทนระดับกลาง ของ LLVM

ระดับกลาง

ROCclr Common Language Runtime

Common Language Runtime (CL) เป็นเลเยอร์ตัวกลางที่ปรับการเรียกใช้ไปยัง ROCr บน Linux และ PAL บน Windows เดิมทีมันสามารถส่งต่อการเรียกใช้ระหว่างคอมไพเลอร์ต่างๆ ได้ เช่นเดียวกับคอมไพเลอร์ HSAIL แต่ปัจจุบันมันถูกรวมเข้ากับเลเยอร์ตัวกลางระดับบน (HIP และ OpenCL) แล้ว

โอเพ่นซีแอล

ROCm จัดส่งตัวโหลดไดรเวอร์ไคลเอ็นต์ที่ติดตั้งได้ (ICD) และการใช้งาน OpenCL [ 41 ]ที่รวมเข้าด้วยกันณ เดือนมกราคม 2022 ROCm 4.5.2 จัดส่ง OpenCL 2.2 และล้าหลังคู่แข่ง[ 42 ]

HIP – อินเทอร์เฟซแบบเฮเทอโรจีนัสเพื่อการพกพา

ระบบที่ AMD นำมาใช้กับ GPU ของตนเรียกว่าHIPAMDนอกจากนี้ยังมีระบบที่นำมาใช้กับ CPUซึ่งส่วนใหญ่มีไว้เพื่อการสาธิตเท่านั้น

ฮิปซีซี

HIP สร้างคอมไพเลอร์ HIPCC ที่ห่อหุ้มClangและคอมไพล์ด้วยแบ็กเอนด์ AMDGPU แบบเปิดของ LLVM หรือเปลี่ยนเส้นทางไปยัง คอมไพเลอ ร์NVIDIA [ 43 ]

ฮิปฟี่

HIPIFYเป็นเครื่องมือคอมไพล์แบบซอร์สโค้ดต่อซอร์สโค้ด มันแปลง CUDA เป็น HIP และในทางกลับกัน โดยใช้เครื่องมือที่ใช้ Clang หรือสคริปต์ Perl ที่คล้ายกับ sed

GPUFORT

เช่นเดียวกับ HIPIFY, GPUFORTเป็นเครื่องมือที่คอมไพล์ซอร์สโค้ดเป็นซอร์สโค้ดภาษาเจเนอเรชั่นที่สามอื่นๆ ทำให้ผู้ใช้สามารถย้ายจาก CUDA Fortran ไปยัง HIP Fortran ได้ นอกจากนี้ยังอยู่ในรายการของโครงการวิจัยอีกด้วย[ 44 ]

ระดับสูง

โดยทั่วไปแล้ว ไลบรารีระดับสูงของ ROCm จะถูกใช้งานโดยตรงโดยซอฟต์แวร์แอปพลิเคชัน เช่น เฟรมเวิร์ก การเรียนรู้ของเครื่องไลบรารีส่วนใหญ่ต่อไปนี้อยู่ใน หมวดหมู่ การคูณเมทริกซ์ทั่วไป (GEMM) ซึ่งสถาปัตยกรรม GPU ทำได้ดีเยี่ยม

ไลบรารีที่ผู้ใช้เข้าถึงได้ส่วนใหญ่เหล่านี้มาในรูปแบบคู่: hipสำหรับเลเยอร์การอ้างอิงที่สามารถกำหนดเส้นทางไปยังฮาร์ดแวร์ Nvidia และrocสำหรับการใช้งาน AMD [ 45 ]

ร็อคบลาส / ฮิปบลาส

rocBLASและhipBLASเป็นส่วนสำคัญในไลบรารีระดับสูง โดยเป็นการใช้งานของ AMD สำหรับโปรแกรมย่อยพีชคณิตเชิงเส้นพื้นฐาน (Basic Linear Algebra Subprograms ) และใช้ไลบรารีTensileเป็นการส่วนตัว

rocSOLVER / hipSOLVER

ไลบรารีทั้งสองนี้ประกอบกันเป็น ระบบ LAPACKสำหรับ ROCm และเชื่อมโยงอย่างแน่นหนากับ rocBLAS

สาธารณูปโภค

  • เครื่องมือสำหรับนักพัฒนา ROCm : การดีบัก, ตัวติดตาม, โปรไฟล์เลอร์, อินเทอร์เฟซการจัดการระบบ, ชุดตรวจสอบความถูกต้อง, การจัดการคลัสเตอร์
  • เครื่องมือ GPUOpen : เครื่องมือวิเคราะห์ GPU, เครื่องมือแสดงภาพหน่วยความจำ...
  • เครื่องมือภายนอก: radeontop ( ภาพรวม TUI )

การเปรียบเทียบกับคู่แข่ง

ROCm แข่งขันกับชุดประมวลผล GPU อื่นๆ เช่น Nvidia CUDAและIntel OneAPI

Nvidia CUDA

CUDA ของ Nvidia เป็นซอฟต์แวร์แบบปิด ในขณะที่ ROCm ของ AMD เป็นซอฟต์แวร์แบบเปิด มีซอฟต์แวร์แบบเปิดที่สร้างขึ้นบนพื้นฐานของ CUDA แบบปิด เช่นRAPIDS

CUDA สามารถทำงานบน GPU สำหรับผู้บริโภคทั่วไปได้ ในขณะที่ ROCm นั้นรองรับเฉพาะฮาร์ดแวร์ระดับมืออาชีพ เช่น AMD InstinctและAMD Radeon Proเท่านั้น

Nvidia ให้บริการ frontend ที่เน้นภาษา C/C++ และ backend สำหรับ GPU ที่ใช้การประมวลผลแบบขนาน (Parallel Thread Execution : PTX) LLVM ในชื่อNvidia CUDA Compiler (NVCC)

อินเทล วันเอพีไอ

ไลบรารีทั้งหมดที่เกี่ยวข้องกับ oneAPI ได้รับการเผยแพร่ไว้ในหน้า GitHub ของ oneAPI แล้ว

มูลนิธิเร่งรัดการพัฒนาแบบบูรณาการ (UXL)

Unified Acceleration Foundation (UXL) เป็นกลุ่มเทคโนโลยีใหม่ที่กำลังดำเนินการต่อเนื่องจากโครงการ OneAPI โดยมีเป้าหมายเพื่อสร้างระบบนิเวศซอฟต์แวร์เร่งความเร็วมาตรฐานเปิดใหม่ รวมถึงมาตรฐานเปิดที่เกี่ยวข้องและโครงการข้อกำหนดผ่านกลุ่มทำงานและกลุ่มความสนใจพิเศษ (SIG) เป้าหมายนี้จะแข่งขันกับ CUDA ของ Nvidia บริษัทหลักที่อยู่เบื้องหลัง ได้แก่ Intel, Google, Arm, Qualcomm, Samsung, Imagination และ VMware [ 46 ]

ดูเพิ่มเติม

  • ซอฟต์แวร์ AMD – ภาพรวมทั่วไปของไดรเวอร์ API และความพยายามในการพัฒนาของ AMD
  • GPUOpen – ชุดเครื่องมือเสริมด้านกราฟิกของ AMD
  • AMD Radeon Software – ช่องทางการจัดจำหน่ายซอฟต์แวร์ของ AMD
  • "เอกสารอย่างเป็นทางการของ ROCm" AMD 10กุมภาพันธ์ 2022
  • "ศูนย์การ เรียนรู้ ROCm" AMD 25 มกราคม 2022
  • "เอกสารอย่างเป็นทางการของ ROCm บน GitHub super-project" AMD 25มกราคม 2022
  • "เอกสารอย่างเป็นทางการของ ROCm - ก่อนเวอร์ชัน 5.0" AMD 19มกราคม 2022
  • "แอปพลิเคชันที่เร่งความเร็วด้วย GPU โดยใช้ตัวเร่งความเร็ว AMD Instinct และซอฟต์แวร์ AMD ROCm" (PDF) AMD 25มกราคม 2022
  • "AMD Infinity Hub" AMD 25มกราคม 2022คอนเทนเนอร์ Dockerสำหรับแอปพลิเคชันทางวิทยาศาสตร์
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=ROCm&oldid=1358800480 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ROCm

ROCm เป็น ชุดซอฟต์แวร์ของ Advanced Micro Devices (AMD) สำหรับ การเขียนโปรแกรม หน่วยประมวลผลกราฟิก (GPU) ROCm ครอบคลุมหลายโดเมน รวมถึง การประมวลผลทั่วไปบนหน่วยประมวลผลกราฟิก...

พื้นหลัง

ซอฟต์แวร์ GPGPU ตัวแรกจาก ATI /AMD คือ Close to Metal ซึ่งต่อมาพัฒนาเป็น Stream

ภาษาตัวกลางสถาปัตยกรรมระบบที่ไม่เป็นเนื้อเดียวกัน

HSAIL [ 8 ] มีเป้าหมายเพื่อสร้างการแสดงผลระดับกลางที่ไม่ขึ้นกับฮาร์ดแวร์ ซึ่งสามารถคอมไพล์แบบ JIT ไปยังฮาร์ดแวร์ขั้นสุดท้าย (GPU, FPGA...

ความสามารถในการเขียนโปรแกรม

ROCm ในฐานะสแต็กครอบคลุมตั้งแต่ไดรเวอร์เคอร์เนลไปจนถึงแอปพลิเคชันของผู้ใช้ปลายทาง AMD มีวิดีโอแนะนำเกี่ยวกับฮาร์ดแวร์ AMD GCN [ 11 ] และการเขียนโปรแกรม ROCm [ 12 ] ผ่านทางพอร์ทัลการเรียนรู้ [ 13 ]