14

การจัดตารางเวลา Runtime และความสามารถในการประกอบอัลกอริทึม

AI999第4课:现代计算底座与张量化并行演化
00:00

วัตถุประสงค์การเรียนรู้:เข้าใจบทบาทของ Runtime ในการจัดตารางเวลาทรัพยากรประมวลผลที่แตกต่างกันและรักษาความสามารถในการประกอบอัลกอริทึม

แนวคิดหลัก:การจัดตารางเวลาทรัพยากรประมวลผลที่แตกต่างกัน

Runtime: ชั้นการจัดตารางเวลาและนามธรรมในฐานรากแบบรวม

ในฐานรากแบบรวมของ EvoX นั้น Runtime ทำหน้าที่เป็นตัวเชื่อม: ด้านบนรองรับโมดูลอัลกอริทึม ปัญหา และเวิร์กโฟลว์ ด้านล่างจัดการทรัพยากรประมวลผลที่แตกต่างกัน เช่น CPU และ GPU Runtime รักษาความสามารถในการประกอบอัลกอริทึมผ่านการแยกส่วนด้วยอินเทอร์เฟซ ทำให้ชั้นอัลกอริทึมไม่ผูกติดกับฮาร์ดแวร์พื้นฐาน กลยุทธ์การประมวลผลแบบขนาน หรือรายละเอียดการคอมไพล์โดยตรง ดังนั้นเมื่อผู้ใช้เปลี่ยนอัลกอริทึม เช่น DE หรือ PSO หรือเปลี่ยนปัญหาการปรับให้เหมาะสม ก็ไม่จำเป็นต้องเขียนโค้ดประมวลผลแบบขนานบน GPU/CPU ใหม่ Runtime จะจัดตารางงานการประเมินและการอัปเดตตามเวิร์กโฟลว์แบบรวม ทำให้การประกอบอัลกอริทึมแยกออกจากการประมวลผลบนฮาร์ดแวร์

การจัดตารางเวลา Runtime และความสามารถในการประกอบอัลกอริทึมชั้นอัลกอริทึม (ประกอบได้)โมดูลอัลกอริทึมDE, PSO ฯลฯนิยามปัญหาปัญหาการปรับให้เหมาะสมเวิร์กโฟลว์การจัดเรียงงานอินเทอร์เฟซแบบรวม · การประกอบแบบโมดูลชั้นการจัดตารางเวลา Runtimeชั้นการจัดตารางเวลาและนามธรรมที่เชื่อมโยงทั้งบนและล่างการจัดตารางงานจัดสรรตามเวิร์กโฟลว์การประมวลผลแบบขนานประชากร/การประเมิน/โอเปอเรเตอร์การจัดการทรัพยากรCPU/GPU ที่แตกต่างกันการแยกส่วนด้วยอินเทอร์เฟซนามธรรมที่ไม่ขึ้นกับฮาร์ดแวร์การจัดตารางเวลาและการประมวลผลทรัพยากรประมวลผลที่แตกต่างกันCPUGPUตัวเร่งความเร็วเปลี่ยนอัลกอริทึมได้ · ไม่ขึ้นกับฮาร์ดแวร์การ权衡: ความยืดหยุ่น · ประสิทธิภาพ · ความซับซ้อนทางวิศวกรรม同一 Runtime 支撑多领域应用

ประเด็นสำคัญ

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

สรุปประเด็นสำคัญของกลไกการจัดตารางเวลา

วัตถุที่ถูกจัดตารางเวลาทรัพยากรที่แตกต่างกันกลไกการแยกส่วนประโยชน์จากการประกอบได้การ权衡หลัก
โมดูลอัลกอริทึม/ปัญหาCPU/GPUอินเทอร์เฟซแบบรวมเปลี่ยนอัลกอริทึมได้ค่าใช้จ่ายจากนามธรรมของอินเทอร์เฟซ
ประชากร/การประเมิน/โอเปอเรเตอร์หลายอุปกรณ์การจัดตารางเวลาเวิร์กโฟลว์การประมวลผลแบบขนานค่าใช้จ่ายในการย้ายข้อมูล
เวิร์กโฟลว์ทรัพยากรประมวลผลที่แตกต่างกันการแยกฮาร์ดแวร์การนำกลับมาใช้ข้ามโดเมนความซับซ้อนของการจัดตารางเวลา
ตัวอย่าง: การเปลี่ยนอัลกอริทึมและการแยกออกจากฮาร์ดแวร์
ใน EvoX เมื่อผู้ใช้เปลี่ยนอัลกอริทึม เช่น DE หรือ PSO หรือเปลี่ยนปัญหาการปรับให้เหมาะสม ก็ไม่จำเป็นต้องเขียนโค้ดประมวลผลแบบขนานบน GPU/CPU ใหม่ Runtime จะจัดตารางงานการประเมินและการอัปเดตตามเวิร์กโฟลว์แบบรวม ทำให้การประกอบอัลกอริทึมแยกออกจากการประมวลผลบนฮาร์ดแวร์