คู่มือการเขียนโปรแกรม AMD HIP
คู่มือทางเทคนิคที่ครอบคลุมสำหรับการใช้งาน Heterogeneous-compute Interface for Portability (HIP) โดยให้ API รันไทม์แบบ C++ และภาษาเคอร์เนลที่ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันที่ใช้งานได้กับ GPU ของ AMD และ NVIDIA จากโค้ดเดียว คู่มือนี้ครอบคลุมหัวข้อตั้งแต่การติดตั้ง การตั้งค่าสภาพแวดล้อม โมเดลการเขียนโปรแกรม การจัดสรรหน่วยความจำ และเครื่องมือในการย้ายโค้ด CUDA ไปยัง HIP
ภาพรวมคอร์สเรียน
สรุปเนื้อหา
คู่มือเทคนิคที่ครอบคลุมสำหรับ Heterogeneous-compute Interface for Portability (HIP) ซึ่งให้ API รันไทม์แบบ C++ และภาษาเคอร์เนลที่ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันที่สามารถใช้งานได้กับ GPU ของ AMD และ NVIDIA จากโค้ดเดียวเท่านั้น คู่มือนี้ครอบคลุมหัวข้อต่างๆ เช่น การติดตั้ง การตั้งค่าสภาพแวดล้อม โมเดลการเขียนโปรแกรม การจัดสรรหน่วยความจำ และเครื่องมือในการย้ายโค้ด CUDA ไปยัง HIP
เชี่ยวชาญการเขียนโปรแกรม GPU ที่สามารถนำพาได้: โค้ดเดียวกันใช้ได้ทั้งแพลตฟอร์ม AMD และ NVIDIA
ผู้เขียน: Advanced Micro Devices, Inc. (AMD)
คำขอบคุณ: AMD, โลโก้ลูกศรของ AMD, AMD Instinct, Radeon, ROCm และรูปแบบการรวมกันของพวกมัน เป็นเครื่องหมายการค้าของ Advanced Micro Devices, Inc. Linux เป็นเครื่องหมายการค้าจดทะเบียนของ Linus Torvalds. PCIe เป็นเครื่องหมายการค้าจดทะเบียนของ PCI-SIG Corporation
เป้าหมายการเรียนรู้
- นิยามคุณสมบัติหลักและประโยชน์ที่สำคัญของเฟรมเวิร์ก HIP
- แสดงวิธีการเข้าถึงและสอบถามสภาพแวดล้อม HIP โดยใช้เครื่องมือระบบ
- อธิบายความสัมพันธ์ทางสถาปัตยกรรมระหว่างความสามารถในการนำพาของ HIP กับเทคโนโลยีคอมไพเลอร์
- ดำเนินการติดตั้งเฉพาะแพลตฟอร์มสำหรับสภาพแวดล้อม NVIDIA และ AMD
- ประสานกระบวนการสร้างหลายรีพอซิทอรีเพื่อคอมไพล์ HIP จากแหล่งรหัส
- ตรวจสอบการติดตั้งที่สำเร็จโดยใช้เครื่องมือตรวจสอบและการกำหนดค่าระบบ
- ตั้งค่าและจัดการหน่วยความจำ GPU โดยใช้การจัดสรรแบบ HIP ควบคุมความสอดคล้อง และการมองเห็นหน่วยความจำโฮสต์แบบ zero-copy
- พัฒนาเคอร์เนลประสิทธิภาพสูงโดยใช้คุณสมบัติเฉพาะของ HIP เช่น คุณสมบัติฟังก์ชัน/ตัวแปร ประเภทเวกเตอร์ และเครื่องมือสังเกตสถานะ
- นำไปใช้ในอัลกอริธึมขนานขั้นสูงโดยใช้ฟังก์ชันระดับ warp shuffle, vote, ballot และกลุ่มการทำงานร่วมกัน
- ใช้เครื่องมือ HIPIFY เพื่อแปลงโค้ด CUDA ไปเป็น HIP โดยอัตโนมัติ และจัดการการเปลี่ยนแปลงโปรเจกต์แบบในสถานที่