ตัวอย่างการออกแบบการคูณเมทริกซ์

แนะนําสําหรับ:

  • อุปกรณ์: ไม่ทราบ

  • Quartus: v17.1

author-image

โดย

ตัวอย่างนี้ประกอบด้วยการใช้งานประสิทธิภาพสูงของการดําเนินการคูณเมทริกซ์พื้นฐานและสาธิตการเพิ่มประสิทธิภาพที่สามารถอธิบายไว้ใน Open Computing Language (OpenCL™) เพื่อให้ได้ประสิทธิภาพที่ดีขึ้นอย่างมาก ในระดับอัลกอริทึมเคอร์เนลในตัวอย่างนี้แสดงวิธีอธิบายการตั้งเวลาลูปเพื่อใช้ประโยชน์จากข้อมูลที่มีอยู่ในการคํานวณ

ตัวอย่างนี้ยังสาธิตวิธีใช้การเพิ่มประสิทธิภาพของคอมไพเลอร์แบบวนรอบและ SIMD เพื่อเพิ่มประสิทธิภาพของเคอร์เนลได้อย่างง่ายดาย ในฐานะส่วนหนึ่งของแพ็คเกจตัวอย่าง พารามิเตอร์สําหรับแต่ละไบนารีอุปกรณ์ที่คอมไพล์ไว้ล่วงหน้าได้ถูกเลือกเพื่อเพิ่มประสิทธิภาพสูงสุดสําหรับบอร์ดนั้นๆ รายละเอียดเพิ่มเติมมีอยู่ในแพ็คเกจตัวอย่างที่แสดงว่าการกําหนดพารามิเตอร์เคอร์เนลเป็นการกําหนดเป้าหมายประสิทธิภาพและความต้องการทรัพยากรที่แตกต่างกันได้ง่ายเพียงใด

นอกจากนี้ยังมีการตั้งค่าแอปพลิเคชันโฮสต์เพื่อใช้ประโยชน์จากอุปกรณ์ OpenCL หลายตัวโดยอัตโนมัติโดยกระจายการประมวลผลและสร้างความขนานได้มากยิ่งขึ้น

ประสิทธิภาพการคูณเมทริกซ์สูงสุด

คุณสมบัติ

  • การปรับใช้การทํางานพื้นฐานอย่างเหมาะสม
  • การบัฟเฟอร์หน่วยความจําภายในเครื่อง
  • การเพิ่มประสิทธิภาพคอมไพเลอร์ (การยกเลิกการวนรอบ, คุณลักษณะnum_simd_work_items)
  • การเพิ่มประสิทธิภาพจุดลอยตัว
  • การดําเนินการหลายอุปกรณ์

ดาวน์โหลด

ตัวอย่างการออกแบบให้ซอร์สโค้ดสําหรับอุปกรณ์ OpenCL (.cl) และแอปพลิเคชันโฮสต์ สําหรับการคอมไพล์แอปพลิเคชันโฮสต์ แพ็คเกจ Linux ประกอบด้วย Makefile และแพคเกจ Windows ประกอบด้วยโครงการ Microsoft Visual Studio 2010

การดาวน์โหลดต่อไปนี้มีให้สําหรับตัวอย่างนี้:

การใช้การออกแบบนี้อยู่ภายใต้และอยู่ภายใต้ข้อกําหนดและเงื่อนไขของข้อตกลงสิทธิ์การใช้งานการออกแบบที่อ้างอิงฮาร์ดแวร์

ข้อกําหนดซอฟต์แวร์และฮาร์ดแวร์

ตัวอย่างการออกแบบนี้ต้องใช้เครื่องมือต่อไปนี้:

  • ซอฟต์แวร์ Intel FPGA v17.1 หรือใหม่กว่า
  • Intel FPGA SDK สําหรับ OpenCL™ v17.1 หรือใหม่กว่า
  • บน Linux: GNU Make and gcc
  • บน Windows: Microsoft Visual Studio 2010

ในการดาวน์โหลดเครื่องมือการออกแบบของ Intel ให้ไปที่ หน้า ดาวน์โหลด OpenCL ข้อกําหนดสําหรับระบบปฏิบัติการพื้นฐานนั้นเหมือนกับของ Intel FPGA SDK สําหรับ OpenCL

โลโก้ OpenCL และ OpenCL เป็นเครื่องหมายการค้าของ Apple Inc. ซึ่งใช้งานโดยได้รับอนุญาตจาก Khronos

* ผลิตภัณฑ์อ้างอิงตามข้อมูลจําเพาะของ Khronos ที่เผยแพร่ และผ่านกระบวนการทดสอบความสอดคล้องของ Khronos สามารถดูสถานะความสอดคล้องในปัจจุบันได้ที่www.khronos.org/conformance

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