การวัดประสิทธิภาพนี้แสดงถึงการใช้งาน 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 จุดแบบคู่ขนาน
คะแนนที่ได้รับการประมวลผลแบบคู่ขนาน | เค้าโครงข้อมูลอินพุต/เอาต์พุต ธรรมชาติ |
เค้าโครงข้อมูลอินพุต/เอาต์พุต เหมาะ |
---|---|---|
4 | 117 MSPS | 217 MSPS |
8 | 292 MSPS | 457 MSPS |
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