กลับสู่คอร์สเรียน
AI023 Professional

บทนำสู่การเขียนโปรแกรมด้วยทริตอน: คู่มือปฏิบัติจริง

คู่มือการเรียนรู้ทางวิทยาศาสตร์ที่ครอบคลุม ออกแบบมาเพื่อให้เส้นทางการเรียนรู้แบบเต็มรูปแบบสำหรับ Triton ซึ่งเป็นภาษาและเครื่องคอมพิวเตอร์ที่ใช้ภาษา Python ในการเขียนเคอร์เนล GPU ที่กำหนดเอง หลักสูตรนี้ครอบคลุมโมเดลการเขียนโปรแกรม ไวยากรณ์ของภาษา ลักษณะทางตัวเลข และการปรับประสิทธิภาพ ตั้งแต่การบวกเวกเตอร์พื้นฐาน ไปจนถึงการดำเนินการรวมและแบ่งส่วนที่ใช้ในระบบเรียนรู้เชิงลึกสมัยใหม่

5.0
30.0h
561 ผู้เรียน
0 การถูกใจ
ปัญญาประดิษฐ์
เริ่มเรียน

ภาพรวมคอร์สเรียน

📚 สรุปเนื้อหา

บทเรียนทางวิทยาศาสตร์ที่ครอบคลุม ออกแบบมาเพื่อให้เส้นทางการเรียนรู้อย่างครบถ้วนสำหรับ Triton ซึ่งเป็นภาษาและเครื่องมือแปลภาษาที่ใช้พื้นฐานจาก Python สำหรับเขียนเคอร์เนล GPU แบบเฉพาะเจาะจง หลักสูตรนี้ครอบคลุมโมเดลการเขียนโปรแกรม เอกลักษณ์ของภาษา ลักษณะเชิงตัวเลข และการปรับแต่งประสิทธิภาพ โดยย้ายจากแนวคิดพื้นฐานของการบวกเวกเตอร์ไปจนถึงการดำเนินการที่รวมกัน (fused) และแบ่งเป็นช่อง (tiled) ที่ใช้ในระบบเรียนรู้เชิงลึกสมัยใหม่

เชี่ยวชาญศิลปะในการออกแบบเคอร์เนล GPU ประสิทธิภาพสูง จากหลักการพื้นฐาน

ผู้เขียน: EvoClass

คำขอบคุณ: สารบัญของ Triton และ โครงการทริตอนบน GitHub

🎯 วัตถุประสงค์การเรียนรู้

  1. นิยามความหมายของ Triton และบทบาทของมันในระบบร่วมซอฟต์แวร์การเรียนรู้เชิงลึก
  2. แยกแยะความแตกต่างระหว่าง Triton กับ CUDA, โค้ดแบบเร่งด่วนของ PyTorch และการเขียนโปรแกรมระดับต่ำสำหรับ GPU
  3. ระบุงานที่เหมาะสมสำหรับการใช้งานกับ Triton และเข้าใจความสำคัญของการรวมเคอร์เนลและการเกิดจุดขัดข้อง (bottlenecks)
  4. ติดตั้งสภาพแวดล้อมของ Triton อย่างสะอาดและตรวจสอบชุดซอฟต์แวร์ให้เรียบร้อย
  5. ประยุกต์ใช้เคอร์เนลสำหรับการคัดลอกเวกเตอร์พื้นฐาน เพื่อยืนยันความถูกต้องของตรรกะสภาพแวดล้อมเทียบกับตรรกะเคอร์เนล
  6. ระบุและจำแนกประเภทจุดขัดข้องของ GPU เพื่อสนับสนุนการรวมเมธอดใน PyTorch
  7. นิยามอินสแตนซ์ของโปรแกรม และคำนวณมิติของกริดการเริ่มต้น 1 มิติโดยใช้ cdiv
  8. ดำเนินการคำนวณตำแหน่งหน่วยความจำด้วยการคำนวณชี้ตำแหน่ง (pointer arithmetic) เพื่อจับคู่รหัสเฉพาะของโปรแกรม (pid) กับตำแหน่งหน่วยความจำ
  9. แยกแยะระหว่างเทนเซอร์ของ PyTorch (ข้อมูลเมตาข้อมูลฝั่งโฮสต์) กับเทนเซอร์ของ Triton (บล็อกระดับคอมไพเลอร์)
  10. คำนวณการจับคู่ระหว่างรหัสโปรแกรม (pid) กับตำแหน่งหน่วยความจำเฉพาะโดยใช้ tl.arange

บทเรียน