PyTorch ผสาน CuteDSL เป็นแบ็กเอนด์การคูณเมทริกซ์ลำดับที่สี่ใน TorchInductor

iconKuCoinFlash
แชร์
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconสรุป

expand icon
PyTorch ได้เพิ่ม CuteDSL เป็น backend การคูณเมทริกซ์ตัวที่สี่ใน TorchInductor ซึ่งช่วยปรับปรุงการประมวลผลข้อมูลบนโซ่สำหรับการดำเนินการของโหนดเต็ม ตัวเลือกนี้ถูกพัฒนาจาก MetaEra โดยอิงจากความต้องการด้านการดูแลรักษาน้อย ไม่มีการชะลอตัวในการคอมไพล์ และประสิทธิภาพที่ดีขึ้นในงานหลักๆ ที่สำคัญ CuteDSL ซึ่งพัฒนาโดย NVIDIA ใช้เทมเพลตที่เขียนด้วย Python พร้อมเวลาการคอมไพล์ที่เร็ว เทียบเท่ากับ backend ที่มีอยู่แล้ว และเร็วกว่า CUTLASS C++ ในด้านความเร็ว backend นี้เลียนแบบการดูดซับของ CUTLASS C++ และให้ผลลัพธ์ที่แข็งแกร่งใน FP8 GEMM และการรวม Epilogue ทีมงานให้ความสำคัญกับการเพิ่มประสิทธิภาพ GEMM ซึ่งเป็นส่วนประกอบหลักในโมเดล Transformer CuteDSL สร้างโค้ดระดับต่ำผ่านเทมเพลตที่ได้รับการปรับแต่งอย่างเหมาะสม ทำให้การพัฒนาเคอร์เนลง่ายขึ้นและเสริมคุณสมบัติเฉพาะของสถาปัตยกรรม

ข่าวจาก ME News เมื่อวันที่ 7 เมษายน (UTC+8) ทีมอย่างเป็นทางการของ PyTorch ได้ประกาศว่าได้รวม CuteDSL เป็นแบ็กเอนด์การปรับแต่งอัตโนมัติสำหรับการคูณเมทริกซ์ลำดับที่สี่ใน TorchInductor การเลือกแบ็กเอนด์นี้อิงจากเกณฑ์สามข้อ: ไม่เพิ่มภาระการดูแลรักษาอย่างมาก ไม่ชะลอเวลาการคอมไพล์หรือเวลาการทดสอบประสิทธิภาพ และให้ประสิทธิภาพที่ดีกว่าบนงานที่เป้าหมาย CuteDSL ได้รับการพัฒนาอย่างแข็งขันโดย NVIDIA ซึ่งให้เทมเพลตเคอร์เนลที่ได้รับการปรับแต่ง โดยมีเวลาการคอมไพล์เทียบเท่ากับแบ็กเอนด์ที่มีอยู่และดีกว่าอย่างมากเมื่อเทียบกับเส้นทาง C++ CUTLASS ที่ต้องใช้ `nvcc` อย่างสมบูรณ์ แบ็กเอนด์นี้สร้างขึ้นบนการดูดซับเดียวกันกับ CUTLASS C++ โดยเขียนด้วยภาษา Python ซึ่งคอมไพล์เร็วกว่าและดูแลรักษาง่ายกว่า และได้พิสูจน์ประสิทธิภาพที่แข็งแกร่งใน FP8 GEMM และการรวม Epilogue ทีมเน้นการปรับแต่ง GEMM (การคูณเมทริกซ์) เนื่องจากมันใช้ทรัพยากรการคำนวณหลักในโมเดล Transformer CuteDSL สร้างโค้ดระดับล่างผ่านเทมเพลตที่ปรับแต่งด้วยมือ ซึ่งหลีกเลี่ยงความซับซ้อนของการเขียนเคอร์เนลตั้งแต่เริ่มต้น และเปิดเผยโครงสร้างระดับเธรดและหน่วยความจำอย่างสมบูรณ์ เพื่อรองรับฟีเจอร์เฉพาะของสถาปัตยกรรม (ที่มา: InFoQ)

แหล่งที่มา:แสดงต้นฉบับ
คำปฏิเสธความรับผิดชอบ: ข้อมูลในหน้านี้อาจได้รับจากบุคคลที่สาม และไม่จำเป็นต้องสะท้อนถึงมุมมองหรือความคิดเห็นของ KuCoin เนื้อหานี้จัดทำขึ้นเพื่อวัตถุประสงค์ในการให้ข้อมูลทั่วไปเท่านั้น โดยไม่มีการรับรองหรือการรับประกัน และจะไม่ถูกตีความว่าเป็นคำแนะนำทางการเงินหรือการลงทุน KuCoin จะไม่รับผิดชอบต่อความผิดพลาดหรือการละเว้นในเนื้อหา หรือผลลัพธ์ใดๆ ที่เกิดจากการใช้ข้อมูลนี้ การลงทุนในสินทรัพย์ดิจิทัลอาจมีความเสี่ยง โปรดประเมินความเสี่ยงของผลิตภัณฑ์และความเสี่ยงที่คุณยอมรับได้อย่างรอบคอบตามสถานการณ์ทางการเงินของคุณเอง โปรดดูข้อมูลเพิ่มเติมได้ที่ข้อกำหนดการใช้งานและเอกสารเปิดเผยข้อมูลความเสี่ยงของเรา