ชิปออฟเฟอร์ OpenCL™ Fast Fourier Transform FFT (1D)

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

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

  • Quartus®: v17.1

author-image

โดย

การวัดประสิทธิภาพนี้แสดงถึงการใช้งาน OpenCL™ ของการเปลี่ยนแปลงแบบ 1D Fast Fourier (1D FFT) บน Intel® FPGAs การวัดประสิทธิภาพสามารถประมวลผลค่าจุดลอยตัวความแม่นยําเดียวที่ซับซ้อนได้สูงสุด 16 ล้านค่า และรองรับการเปลี่ยนแปลงขนาดข้อมูลแบบไดนามิก

อัลกอริทึมที่ใช้ในการประมวลผลชุดข้อมูลขนาดใหญ่ดังกล่าวมีหกขั้นตอน ตัวอย่างเช่น เราต้องการประมวลผลคะแนน 1 ล้านคะแนน:

  • ปฏิบัติกับจุด 1M เป็นเมทริกซ์ 1K x 1K อ่านจากหน่วยความจําภายนอกและเปลี่ยนเส้นทางได้ทันที
  • เรียกใช้งาน 1K 1D FFT ในทุกแถว (จากเมทริกซ์ที่แปลงให้มา)
  • คูณค่าที่ได้ด้วยปัจจัยการปรับแต่งแบนด์วิดท์
  • สลับเมทริกซ์และเขียนไปยังบัฟเฟอร์ชั่วคราวในหน่วยความจําภายนอก
  • เรียกใช้งาน 1K 1D FFT ในทุกแถว
  • สลับเมทริกซ์และเขียนผลลัพธ์ไปยังหน่วยความจําภายนอก

ทั้งระบบประกอบด้วยเคอร์เนลสามตัวที่เชื่อมต่อด้วยช่องสัญญาณ ชุดเคอร์เนลสามเคอร์เนลถูกจัดให้สองเท่าโดยโฮสต์เพื่อทําการประมวลผลเต็มรูปแบบ ลําดับที่หนึ่งดําเนินการขั้นตอนที่ 1-4 ข้างต้น ลําดับที่สองดําเนินการขั้นตอนที่ 5-6 โดยพื้นฐานแล้วเป็นคอร์ 2D FFT ที่มีการแปลงสัญญาณพิเศษและการคูณทวิดเดิล

รหัสนี้สามารถระบุพารามิเตอร์ได้อย่างง่ายดายเพื่อรองรับขนาด FFT ที่แตกต่างกัน รวมถึงข้อกําหนดด้านประสิทธิภาพที่แตกต่างกัน

ประสิทธิภาพ FFT

ประสิทธิภาพของคอร์ขึ้นอยู่กับจํานวนคะแนนที่ประมวลผลแบบขนาน เค้าโครงข้อมูลที่ใช้ และจํานวนและความเร็วของหน่วยความจําภายนอก ทําการวัดด้านล่างบน BittWare S5-PCIe-HQ D8 ที่มี DDR3-1600s สองตัว ทําการวัดบน FFT จุด 1M สําหรับ 8 คะแนนแบบคู่ขนานและ 4M FFT สําหรับ 4 จุดแบบคู่ขนาน

MSPS คือ "ตัวอย่างนับล้านตัวอย่างต่อวินาที"

คุณสมบัติ

  • เคอร์เนลรายการงานเดี่ยว
  • ช่องสัญญาณเคอร์เนล
  • การแปลงข้อมูลเมทริกซ์ที่ปรับประสิทธิภาพใหม่

ดาวน์โหลด

ตัวอย่างการออกแบบให้ซอร์สโค้ดสําหรับอุปกรณ์ 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 ตัวอย่างการออกแบบนี้รองรับเฉพาะระบบปฏิบัติการ Linux เท่านั้น

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

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

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