เปิดตัว Triton 1.0 ภาษาโปรแกรมสำหรับ GPU ใน Neural Network

OpenAI ได้เปิดตัว Triton 1.0 ซึ่งเป็นภาษาโปรแกรมแบบ open-source ที่มีลักษณะคล้าย Python ช่วยให้นักวิจัยที่ไม่มีประสบการณ์ CUDA สามารถเขียนโค้ด GPU ที่มีประสิทธิภาพสูงได้ ซึ่งส่วนใหญ่มักจะเทียบเท่ากับที่ผู้เชี่ยวชาญสามารถผลิตได้

ในสาขา Deep Learning แนวคิดการวิจัยใหม่ๆ มักจะถูกนำไปใช้โดยใช้การผสมผสานของ native framework operators ซึ่ง Triton เข้ามาช่วยลดความซับซ้อนนี้ไปได้มาก

ใน Triton แต่ละ instance ของ kernel จะโหลดแถวที่สนใจและทำให้เป็นมาตรฐานโดยใช้ primitives ที่คล้าย NumPy ดังที่เห็นในตัวอย่างโค้ดการคำนวณ softmax

ตัวอย่างโค้ดแสดงการเรียกใช้ kernel ด้วย SPMD launch grid โดย Triton JIT จะถือว่า X และ Y เป็น pointers แทนที่จะเป็น tensors เพื่อคงการควบคุมระดับต่ำของการเข้าถึงหน่วยความจำ

ศัพท์ที่ควรรู้

  • Triton – เป็นภาษาโปรแกรมใหม่ที่ช่วยให้เขียนโค้ดสำหรับ GPU ได้โดยไม่ต้องมีความรู้ลึกซึ้งด้าน CUDA
  • CUDA – เป็นแพลตฟอร์มและโมเดลในการคำนวณแบบขนานของ NVIDIA ที่ใช้ในการเขียนโปรแกรม GPU
  • Kernel – คือฟังก์ชันที่ทำงานบน GPU ซึ่งต้องมีการกำหนดการทำงานอย่างละเอียด
  • NumPy-like primitives – คือชุดคำสั่งพื้นฐานที่ทำงานคล้ายกับไลบรารี NumPy สำหรับการจัดการข้อมูล
  • SPMD launch grid – คือรูปแบบการทำงานที่ใช้ในการสั่งรัน kernel บน GPU โดยมีการกำหนดโครงสร้างการทำงานของกลุ่มคำสั่ง

ที่มา: OpenAI

Leave a Comment