Tags:
Node Thumbnail

OpenAI เปิดตัว Triton 1.0 ภาษาโปรแกรมที่ออปติไมซ์โค้ดสำหรับทำงานบนชิปกราฟิกโดยอัตโนมัติ โดยได้การทดสอบคูณเมทริกซ์ประสิทธิภาพเทียบกับไลบรารีที่ออปติไมซ์มาเฉพาะอย่าง cuBLAS ของ NVIDIA เอง

ตัวภาษา Triton คล้ายกับไพธอนอย่างมาก แต่กระบวนการทำงานภายในออกแบบมาเพื่อการทำงานร่วมกับชิปกราฟิกโดยเฉพาะ เนื่องจากชิปกราฟิกนั้นต้องการการออปติไมซ์หลายอย่างเพื่อให้โค้ดทำงานได้เต็มประสิทธิภาพ ได้แก่ การย้ายข้อมูลทีละมากๆ เข้าออกจากแรมนอกชิป (DRAM เช่น GDDR ที่เราเห็นในสเปคของการ์ดกราฟิก) จากนั้นต้องวางข้อมูลลง SRAM ของแต่ละคอร์โดยแย่งข้อมูลใช้งานกันให้น้อย ใช้หน่วยความจำส่วนเดิมให้มากๆ และเรียงการประมวลผลตามพฤติกรรมของคอร์กราฟิก รวมถึงการใช้งานชุดคำสั่งพิเศษสำหรับการประมวลผลเฉพาะทาง

ที่ผ่านมาโปรแกรมเมอร์ CUDA ต้องฝึกฝนการออปติไมซ์เหล่านี้เองเพื่อให้โค้ดดึงประสิทธิภาพของชิปกราฟิกออกมาสูงสุด ขณะที่ไลบรารีบางตัว เช่น Torch พยายามออปติไมซ์อัตโนมัติแต่ในความเป็นจริงก็ได้ประสิทธิภาพต่ำมาก

Triton อาศัยการแปลงโค้ดไพธอนกลายเป็นภาษา Triton-IR แล้วคอมไพล์เป็น LLVM-IR อีกทีหนึ่ง จากนั้นใช้ LLVM คอมไพล์เป็น PTX สำหรับรันบนชิป NVIDIA โดยตอนนี้ยังไม่รองรับการใช้งาน Triton บนซีพียูหรือแม้แต่ชิปกราฟิกของ AMD

ที่มา - OpenAI

No Description

Get latest news from Blognone