Bittware ให้การ์ดเร่งความเร็วที่ใช้งาน oneAPI ของ Intel® และ Open FPGA Stack (OFS) ได้

BittWare ให้การรองรับ oneAPI ในโซลูชันเอฟพีจีเอของตนโดยใช้ Open FPGA Stack (OFS)

ข้อมูลโดยย่อ

  • OFS ซึ่งประกอบด้วย Accelerator Support Package (ASP) ของ Intel® oneAPI ช่วยให้นักพัฒนาสามารถใช้ประโยชน์จากความสามารถในการตั้งโปรแกรมซ้ำของเอฟพีจีเอด้วยตัวเลือกในการใช้ภาษาในการเขียนโปรแกรม เช่น C/C++ และสภาพแวดล้อมในการพัฒนาต่าง ๆ ที่คุ้นเคย เช่น Visual Studio และ Eclipse ผ่านการใช้งาน oneAPI

  • BittWare กำลังส่งมอบการ์ดเร่งความเร็วที่ใช้เอฟพีจีเอ Intel Agilex® 7 ชั้นนำ ที่ใช้งานได้กับทั้งโฟลว์การพัฒนา RTL และ C/C++ ผ่านการรองรับ OFS และ oneAPI

  • BittWare มีบอร์ดที่ใช้ OFS, oneAPI สองตัวที่พร้อมจัดส่งในปัจจุบัน นั่นคือตัวเร่งความเร็ว PCIe* IA-840f และ IA-420f

  • BittWare ให้ตัวอย่างการใช้งาน oneAPI โดยใช้โค้ดแบบดาวน์โหลดได้ รวมไปถึงการประยุกต์ใช้งานระบบประมวลผลประสิทธิภาพสูง (HPC) ที่พอร์ตจาก OpenCL* ไปยัง oneAPI

author-image

โดย

สรุปข้อมูลผู้บริหาร

BittWare ได้พัฒนาโซลูชันของบอร์ดเร่งความเร็วที่ใช้เอฟพีจีเอ โดยใช้เอฟพีจีเอ Intel มาอย่างต่อเนื่องเป็นเวลามากกว่าสองทศวรรษ ในการโอนย้ายล่าสุดมาที่เอฟพีจีเอ Intel Agilex® 7 ล่าสุด BittWare สนใจในการให้การรองรับ oneAPI ในโซลูชันเอฟพีจีเอของตน เพื่อการนี้ BittWare ได้หันไปหา Open FPGA Stack (OFS) และให้ Accelerator Support Package (ASP) ของ oneAPI แบบโอเพ่นซอร์สเพื่อให้ใช้งานการคอมไพล์เคอร์เนลของแอปพลิเคชันการออกแบบระดับสูง (HLD) ในแพลตฟอร์มที่ใช้เอฟพีจีเอ Intel Agilex ของตนได้

พื้นหลังและความท้าทาย

Intel เปิดตัวตระกูลผลิตภัณฑ์ Intel Agilex 7 ในปี 2019 นับจากนั้น ตระกูลผลิตภัณฑ์ Intel Agilex ก็ได้ต่อยอดด้วยการรวมความหนาแน่นเชิงตรรกะและเอฟพีจีเอที่ใช้กำลังไฟต่ำไปจนถึงสูงเข้าไว้ด้วยกันในการประยุกต์ใช้งานต่าง ๆ มากมาย ซีรีส์ของเอฟพีจีเอ Intel Agilex 7 คือตระกูลเอฟพีจีเอ Intel Agilex ประสิทธิภาพสูงแบบดั้งเดิม ซีรีส์ของเอฟพีจีเอรวมเอฟพีจีเอที่มีประสิทธิภาพสูงสุดของอุตสาหกรรมไว้ด้วยกัน โดยให้ประสิทธิภาพของโครงสร้างต่อวัตต์ดีกว่าประมาณ 2 เท่า1 เมื่อเทียบกับเอฟพีจีเอเจนเนอเรชั่นล่าสุดของคู่แข่ง เอฟพีจีเอ Intel Agilex ใหม่มีประสิทธิภาพมากกว่า ดึงพลังงานน้อยกว่า และมาพร้อมคุณสมบัติต่าง ๆ ด้าน I/O เช่น PCIe* 4.0 และ 5.0 ซึ่งมุ่งเป้าหมายไปที่การประยุกต์ใช้งานอันหลากหลายที่ใช้แบนด์วิดธ์ การประมวลผล และหน่วยความจำสูง

การปรับปรุงประสิทธิภาพเหล่านี้สร้างมูลค่าให้กับลูกค้าของ BittWare ได้ดียิ่งขึ้น ไม่ว่าจะเป็นความหนาแน่นในการประมวลผลสำหรับศูนย์ข้อมูลหรือประสิทธิภาพต่อวัตต์สำหรับอุปกรณ์ Edge ที่มากขึ้น ในส่วนของการประยุกต์ใช้งานระบบประมวลผลประสิทธิภาพสูง (HPC) เอฟพีจีเอก็นำการปรับแต่งแอปพลิเคชันที่จับคู่เวิร์กโหลดกับชิปประมวลผลได้ดีกว่าตัวเร่งความเร็วสำหรับใช้งานทั่วไป Intel และ BittWare ทำงานร่วมกันเพื่อพอร์ตเวิร์กโหลด HPC จาก Barcelona Supercomputing Center ไปยังการ์ด IA-840f โดยใช้ oneAPI ซึ่งได้ความเร็วเพิ่มขึ้น 233 เท่า โครงการนี้อยู่ในการสัมมนาออนไลน์แบบออนดีมานด์เกี่ยวกับระบบประมวลผลประสิทธิภาพสูงที่ใช้เอฟพีจีเอ Intel Agilex เจนเนอเรชั่นถัดไปของ BittWare

และ BittWare ยังมีทรัพยากรสำหรับเครื่องมือการเขียนโปรแกรมระดับสูง เช่น เอกสารข้อมูลพร้อมกับโค้ดตัวอย่างที่สามารถดาวน์โหลดได้ ทรัพยากรเหล่านี้แสดงให้เห็นว่าเครื่องมือระดับสูงต่าง ๆ สามารถเพิ่มความเร็วให้กับกระบวนการพัฒนาในขณะที่ใช้ประโยชน์จากประสิทธิภาพชั้นสูงของเอฟพีจีเอ Intel Agilex 7 ได้อย่างไร

เครื่องมือต่าง ๆ เช่น oneAPI มีภาษาการเขียนโปรแกรมเชิงขนานที่ทำให้ได้ Abstraction ของการพัฒนาเอฟพีจีเอสำหรับการปรับปรุงเวลาเตรียมพร้อมและดีบักให้ดียิ่งขึ้น oneAPI ที่เทียบได้กับ CUDA* ของ NVIDIA หรือ AMD ROCm* มีภาษาการเขียนโปรแกรมเชิงขนานอย่าง Data Parallel C++ (DPC++) ที่ใช้ SYCL อย่างไรก็ตาม การแจกจ่าย oneAPI ของ Intel นั้นจัดการกับโซลูชันด้านสภาพแวด้อม ชุดเครื่องมือ และไลบรารีสำหรับการเขียนโปรแกรมแบบรวมได้อย่างมีประสิทธิภาพ ไม่ใช่แค่กับ GPU เท่านั้น แต่ยังรวมถึง CPU, เอฟพีจีเอ และ VPU เช่น โปรเซสเซอร์สำหรับ AI Gaudi/Gaudi2

เมื่อใช้ประโยชน์จาก oneAPI นักพัฒนาที่ยังไม่คุ้นเคยกับการเขียนโปรแกรมเอฟพีจีเอมากนัก จะสามารถใช้ประโยชน์จากสถาปัตยกรรมอันยืดหยุ่นและเขียนโปรแกรมซ้ำได้ ซึ่งเป็นลักษณะเฉพาะของเอฟพีจีเอ ในขณะที่ใช้ภาษาด้านการออกแบบ เช่น C/C++ และสภาพแวดล้อมในการพัฒนาที่คุ้นเคยได้ เช่น Visual Studio หรือ Eclipse และการใช้โฟลว์การออกแบบระดับสูงผ่าน oneAPI ยังเพิ่มความสามารถในการพอร์ตของเวิร์กโหลดต่าง ๆ ในสถาปัตยกรรมต่าง ๆ เช่น CPU, GPU, เอฟพีจีเอ และผู้จำหน่ายบอร์ดได้อีกด้วย

BittWare ที่มีบริษัทแม่คือ Molex เป็นพาร์ทเนอร์ของ Intel มาอย่างยาวนานที่ผลิตและออกแบบผลิตภัณฑ์ด้านการเร่งความเร็วฮาร์ดแวร์เอฟพีจีเอระดับองค์กรที่ช่วยให้ลูกค้าสามารถปรับใช้โซลูชันของตนได้รวดเร็วยิ่งขึ้น โดยมีความเสี่ยงน้อยลง ในฐานะผู้นำตลาดในอุตสาหกรรมการเร่งความเร็วเอฟพีจีเอมาเป็นเวลา 20 ปี BittWare ได้โอนย้ายจากเอฟพีจีเอ Intel Stratix® และ Intel Arria® แต่แรกสุดมาเป็นตระกูลผลิตภัณฑ์ Intel Agilex ล่าสุด เมื่อจัดการกับการเปิดตัวครั้งล่าสุดกับซีรีส์ “IA” ของบอร์ดเอฟพีจีเอ Intel Agilex พวกเขามุ่งมั่นที่จะใช้ประโยชน์จากโครงสร้างพื้นฐาน OFS ในการใช้โฟลว์การพัฒนา oneAPI ในแพลตฟอร์มของตน

โซลูชัน

เพื่อให้มั่นใจว่าบอร์ดของตนใช้โฟลว์การพัฒนา oneAPI ได้ BittWare ได้ใช้ประโยชน์จากทรัพยากรและโครงสร้างพื้นฐานสำหรับการพัฒนาเอฟพีจีเอแบบโอเพ่นซอร์สที่ทันสมัยที่สุดอย่าง OFS OFS เป็นโครงสร้างพื้นฐานด้านฮาร์ดแวร์และซอฟต์แวร์แบบสมบูรณ์ตัวแรกที่เป็นแบบโอเพ่นซอร์สทั้งหมด และรวมโค้ดของฮาร์ดแวร์แบบประกอบและโค้ดของเคอร์เนลแบบอัปสตรีมไว้ที่ kernel.org เพื่อให้เกิดชุมชนนักพัฒนาเอฟพีจีเอที่มีการทำงานร่วมกัน

โครงสร้างพื้นฐาน OFS ประกอบด้วย FPGA Interface Manager (FIM) ที่เรียกกันทั่วไปว่า “เชลล์” และภูมิภาค Accelerator Functional Unit (AFU) ซึ่งเป็นภูมิภาคที่กำหนดสำหรับการพัฒนาเวิร์กโหลด เมื่อใช้ OFS นักพัฒนาบอร์ดสามารถใช้ประโยชน์จากโครงสร้างพื้นฐานแบบโอเพ่นซอร์สในการพัฒนา FIM แบบปรับแต่งและกำหนดเองได้อย่างรวดเร็วให้กับบอร์ดของตนตามแอปพลิเคชันหรืออุตสาหกรรมเป้าหมาย ในทำนองเดียวกัน OFS มีเฟรมเวิร์กซอฟต์แวร์โอเพ่นซอร์สที่นักพัฒนาสามารถใช้ประโยชน์จากไดรเวอร์เคอร์เนลอัปสตรีมและโอเพ่นซอร์สเพื่อเร่งการรวมเข้ากับเฟรมเวิร์กทั่วไป โครงสร้างพื้นฐาน OFS แก้ไขปัญหาด้านความต้องการบอร์ดและเวิร์กโหลดด้านการเร่งความเร็วเอฟพีจีเอด้วยการให้วิธีการที่มีประสิทธิภาพสำหรับการพัฒนาระบบการเร่งความเร็วเอฟพีจีเอได้อย่างรวดเร็ว ใช้ประโยชน์จากโครงสร้างพื้นฐานฮาร์ดแวร์และซอฟต์แวร์ OFS ที่ให้ไว้ได้ตามที่เป็น หรือปรับแต่งได้อย่างรวดเร็วตามความต้องการของตลาดแบบใหม่ ๆ และมีการเปลี่ยนแปลงตลอดเวลา

ชุดเครื่องมือพื้นฐานของ oneAPI ที่ Intel ให้ไว้ประกอบด้วยสภาพแวดล้อมรันไทม์และโปรแกรมแปลภาษาเครื่อง โปรแกรมแปลภาษาเครื่องจะแปลงเคอร์เนล SYCL หรือโค้ดของแอปพลิเคชันเอฟพีจีเอเป็นเซอร์กิตของฮาร์ดแวร์ เซอร์กิตของฮาร์ดแวร์นี้ต้องใช้ลอจิกเพิ่มเติมในการสื่อสารกับอุปกรณ์ต่อพ่วงของบอร์ดเอฟพีจีเอและรันไทม์ OFS จัดเตรียมลอจิกเพิ่มเติมนี้ไว้ใน oneAPI ASP oneAPI ASP ได้รับการรวมไว้ในที่เก็บ GitHub ในส่วนของ OFS แบบโอเพ่นซอร์ส และจำเป็นสำหรับการคอมไพล์และเรียกใช้งานเคอร์เนลของแอปพลิเคชัน HLD ในแพลตฟอร์มที่รองรับ OFS และยังมีเอกสารด้านเทคนิคที่เกี่ยวข้องจัดเตรียมไว้ให้ด้วย พร้อมกับคู่มือเริ่มต้นใช้งานฉบับย่อสำหรับการตั้งค่าชุดเครื่องมือพื้นฐาน Intel oneAPI ในแพลตฟอร์ม OFS

เมื่อใช้ที่เก็บและเอกสารด้าน OFS แบบโอเพ่นซอร์ส BittWare สามารถปรับใช้โฟลว์การออกแบบ oneAPI (ไม่ใช่ RTL) ในอุปกรณ์ Intel Agilex ของตนได้โดยใช้การปรับเปลี่ยนเพิ่มเติมเพียงเล็กน้อย

ผลลัพธ์

BittWare เป็นรายแรกที่เข้าสู่ตลาดพร้อมกับเอฟพีจีเอ Intel Agilex F-ซีรีส์ ตารางด้านล่างแสดงให้เห็นถึงบอร์ดสองตัวที่พัฒนาโดยใช้โครงสร้างพื้นฐาน OFS และ oneAPI ASP

การ์ด PCIe IA-420f

การ์ด PCIe IA-840f

  • เอฟพีจีเอ: เอฟพีจีเอ Intel Agilex 7, AGF014
  • การประยุกต์ใช้งาน: การวิเคราะห์ขั้นสูง, ปัญญาประดิษฐ์, คลาวด์คอมพิวติ้ง, ระบบอัตโนมัติในโรงงาน และ HPC
  • ระบบเครือข่าย: QSFP-DD 1x200 Gbps
  • หน่วยความจำ: แฟลชขนาด 2 Gb, DDR4 SDRAM ขนาด 8GB จำนวน 2 ตัว
  • ฟอร์มแฟคเตอร์: HHHL, สล็อตเดียว
  • PCIe: 4.0 x16
  • ใช้งาน oneAPI ได้: ใช่
  • เอฟพีจีเอ: เอฟพีจีเอ Intel Agilex 7, AGF027
  • การประยุกต์ใช้งาน: การวิเคราะห์ขั้นสูง, ปัญญาประดิษฐ์, คลาวด์คอมพิวติ้ง, ระบบอัตโนมัติในโรงงาน และ HPC
  • ระบบเครือข่าย: 3x QSFP-DD 3x200 GbE
  • หน่วยความจำ: แฟลชขนาด 2 Gb, DDR4 SDRAM ขนาด 32GB จำนวน 3 ตัว, DDR4 ขนาด 32GB ที่รองรับ DIMM จำนวน 2 ตัว
  • ฟอร์มแฟคเตอร์: FH¾L, สล็อตคู่
  • PCIe: 4.0 x16
  • ใช้งาน oneAPI ได้: ใช่

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

Craig Petrie, รองประธาน, BittWare

แนวทางการเริ่มต้นการเร่งความเร็วเอฟพีจีเอโดยใช้ OFS

นักพัฒนาเอฟพีจีเอสามารถเลือกบอร์ดที่ใช้ OFS IA-420f หรือ IA-840f ของ BittWare และใช้เอกสารและซอร์สโค้ดแบบโอเพ่นซอร์สเพื่อเริ่มต้นสร้างเวิร์กโหลดแบบกำหนดเองของตน

ตารางต่อไปนี้สรุปแนวทางที่นักพัฒนาสามารถเริ่มต้นการพัฒนาเวิร์กโหลดที่ใช้เอฟพีจีเอโดยใช้บอร์ดเร่งความเร็วของ BittWare

ใช้ประโยชน์จากการเร่งเอฟพีจีเอสำหรับเวิร์กโหลดของคุณ

ขั้นตอนที่ 1: เลือกบอร์ด

บอร์ดที่ใช้ OFS ของ BittWare คือ IA-420f และ IA-840f

ขั้นตอนที่ 2: ประเมินทรัพยากรโอเพ่นซอร์ส OFS

BittWare จะจัดเตรียมเอกสารทางเทคนิคของ OFS ในเวอร์ชันที่สอดคล้องกัน

ขั้นตอนที่ 3: เข้าถึงรหัสฮาร์ดแวร์และซอฟต์แวร์โอเพ่นซอร์ส

BittWare จะจัดเตรียมโค้ดซอฟต์แวร์และฮาร์ดแวร์ OFS ที่สอดคล้องกัน ซึ่งเป็นการแจกจ่ายโค้ดต้นแบบของ OFS โดยเฉพาะของ BittWare (ที่ Intel จัดเตรียมไว้)

ขั้นตอนที่ 4: พัฒนาเวิร์กโหลดโดยใช้ RTL หรือ C/C++ (โดยใช้ oneAPI)

ปฏิบัติตามขั้นตอน OFS RTL

หรือ

OFS เปิดใช้งานการรวบรวมเคอร์เนล oneAPI ใช้ขั้นตอนการพัฒนา oneAPI และสร้างเวิร์กโหลดเอฟพีจีเอใน C/C++