ภาษาโปรแกรมมิ่ง GPU ตัวใหม่ Tilus ของ NVIDIA จุดประกายการถอดเรื่องกลยุทธ์ล็อกอิน CUDA

ทีมชุมชน BigGo
ภาษาโปรแกรมมิ่ง GPU ตัวใหม่ Tilus ของ NVIDIA จุดประกายการถอดเรื่องกลยุทธ์ล็อกอิน CUDA

NVIDIA ได้เปิดตัว Tilus ภาษาโปรแกรมมิ่ง GPU kernel ระดับ tile ตัวใหม่ที่สัญญาว่าจะทำให้การเขียนโปรแกรม GPU ง่ายขึ้นด้วยความละเอียดระดับ thread-block และการควบคุมหน่วยความจำแบบชัดเจน อย่างไรก็ตาม การเปิดตัวครั้งนี้ได้จุดประกายการถกเถียงอย่างเข้มข้นในชุมชนนักพัฒนาเกี่ยวกับแรงจูงใจเชิงกลยุทธ์ของ NVIDIA และการต่อสู้ที่ดำเนินอยู่เพื่อครอบงำระบบนิเวศการเขียนโปรแกรม GPU

คุณสมบัติหลักของ Tilus :

  • ความละเอียดระดับ thread-block โดยใช้ tensor เป็นชนิดข้อมูลหลัก
  • การควบคุมแบบชัดเจนเหนือ shared memory และ register tensor
  • ชนิดข้อมูลความแม่นยำต่ำที่มีความกว้างของบิตแบบกำหนดเอง (1 ถึง 8 บิต)
  • ความสามารถในการปรับแต่งและแคชแบบอัตโนมัติ
  • อินเทอร์เฟซแบบ Pythonic เพื่อความง่ายในการใช้งาน

การตอบสนองเชิงกลยุทธ์ต่อภัยคุกคามข้ามแพลตฟอร์มของ Triton

จังหวะเวลาและการออกแบบของ Tilus ดูเหมือนจะเป็นการตอบสนองโดยตรงของ NVIDIA ต่อความนิยมที่เพิ่มขึ้นของ Triton ภาษาโปรแกรมมิ่ง GPU ของ OpenAI ที่รองรับฮาร์ดแวร์ทั้ง NVIDIA และ AMD ผู้สังเกตการณ์ในชุมชนสังเกตว่าการผลักดันเครื่องมือพัฒนาที่เน้น Python เป็นหลักของ NVIDIA ในช่วงล่าสุด รวมถึงทั้ง CUDA Python ระดับต่ำและ Tilus ระดับสูง แสดงถึงความพยายามที่คำนวณมาแล้วเพื่อป้องกันไม่ให้นักพัฒนาย้ายไปใช้ทางเลือกข้ามแพลตฟอร์ม

ความกังวลมุ่งเน้นไปที่การล็อกอินระบบนิเวศ หากนักพัฒนาใช้ Triton เพื่อความสามารถข้ามแพลตฟอร์ม คูคำแข่งขันของ NVIDIA จะอ่อนแอลงอย่างมีนัยสำคัญ Tilus เสนอแนวคิดการเขียนโปรแกรมแบบ tile-based ที่คล้ายกับ Triton แต่ยังคงผูกติดอยู่กับระบบนิเวศของ NVIDIA ซึ่งอาจทำให้นักพัฒนาอยู่ในวงอิทธิพลของ NVIDIA ต่อไป

การต่อสู้ที่ยังคงดำเนินต่อไปของ AMD และ Intel

การถกเถียงเผยให้เห็นความผิดหวังอย่างลึกซึ้งต่อความไร้ความสามารถของ AMD และ Intel ในการท้าทายการครอบงำของ NVIDIA แม้จะมีเวลาหลายปีในการพัฒนาทางเลือกที่แข่งขันได้ ROCm ของ AMD และ SYCL ของ Intel แม้จะเป็นโอเพนซอร์ส แต่กลับเสนอประสบการณ์การติดตั้งและการสนับสนุนฮาร์ดแวร์ที่แย่กว่า CUDA toolkit ที่เป็นกรรมสิทธิ์ของ NVIDIA อย่างขัดแย้ง

AMD มีเวลาที่จะตามทัน--หนึ่งทศวรรษจริงๆ พวกเขาเพียงแค่ไม่เข้าใจ: การสนับสนุนซอฟต์แวร์ที่แข็งแกร่งต้องการการลงทุนอย่างมีนัยสำคัญจากฝั่งของพวกเขา

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

การวางตำแหน่งทางเทคนิคและความเป็นจริงของตลาด

Tilus แยกความแตกต่างจากการเขียนโปรแกรม GPU แบบดั้งเดิมด้วยการทำงานในระดับ workgroup แทนที่จะเป็นระดับ thread แต่ละตัว แนวทางนี้ช่วยให้นักพัฒนาทำงานกับค่าเวกเตอร์และเมทริกซ์ขนาดใหญ่ได้ในขณะที่คอมไพเลอร์จัดการการกระจายข้ามทรัพยากรฮาร์ดแวร์ ภาษานี้ยังรองรับประเภทความแม่นยำต่ำแบบกำหนดเองจาก 1 ถึง 8 บิต โดยมุ่งเป้าไปที่ความต้องการที่เพิ่มขึ้นสำหรับการอนุมาน AI ที่มีประสิทธิภาพ

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

ผู้ให้บริการคลาวด์ในฐานะผู้เปลี่ยนเกมที่มีศักยภาพ

เรื่องราวย่อยที่น่าสนใจในการถกเถียงเกี่ยวข้องกับผู้ให้บริการคลาวด์รายใหญ่ที่กำลังพัฒนาตัวเร่ง AI ของตนเอง TPU ของ Google ชิป Inferentia และ Trainium ของ AWS และความพยายามที่คล้ายกันจากยักษ์คลาวด์อื่นๆ แสดงถึงการท้าทายที่น่าเชื่อถือที่สุดต่อการครอบงำของ NVIDIA บริษัทเหล่านี้มีทั้งทรัพยากรและแรงจูงใจที่จะหลุดพ้นจากอำนาจการกำหนดราคาของ NVIDIA

การพัฒนา OpenXLA ที่ได้รับการสนับสนุนจากผู้เล่นรายใหญ่รวมถึง Alibaba, Amazon, AMD, Apple, Google, Intel, Meta และแม้แต่ NVIDIA เอง แสดงให้เห็นความพยายามที่ประสานงานกันเพื่อทำให้ชั้นการเร่ง GPU เป็นสินค้าโภคภัณฑ์ สิ่งนี้อาจพิสูจน์ได้ว่าเป็นภัยคุกคามต่อการล็อกอินของ NVIDIA มากกว่าทางเลือกภาษาโปรแกรมมิ่งใดๆ เพียงอย่างเดียว

ระบบนิเวศการเขียนโปรแกรม GPU ที่แข่งขันกัน:

  • NVIDIA: CUDA, CUDA Python, Tilus, cuTile, Warp
  • ข้ามแพลตฟอร์ม: Triton (OpenAI), SYCL, OpenXLA
  • AMD: ROCm (โอเพนซอร์สแต่รองรับฮาร์ดแวร์อย่างจำกัด)
  • ผู้ให้บริการคลาวด์: Google TPUs, AWS Inferentia/Trainium, ตัวเร่งความเร็วแบบกำหนดเอง

มองไปข้างหน้า

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

อ้างอิง: Tilus: A Tile-Level GPU Kernel Programming Language