Beispiel für Matrix-Multiplikationsdesign

Empfohlen für:

  • Gerät: Nicht bekannt

  • Quartus: v17.1

author-image

Von

Dieses Beispiel enthält eine hochleistungsfähige Implementierung des grundlegenden Matrix-Multiplikationsvorgangs und zeigt Optimierungen, die in Open Computing Language (OpenCL™) beschrieben werden können, um eine deutlich verbesserte Leistung zu erzielen. Auf algorithmischer Ebene zeigt der Kernel in diesem Beispiel, wie man looping beschreibt, um die Vorteile der Wiederverwendung von Daten zu nutzen, die der Berechnung inhärent sind.

Dieses Beispiel zeigt auch, wie Sie Compiler-Optimierungen im SIMD-Stil verwenden, um die Leistung des Kernels zu erhöhen. Als Teil des Beispielpakets wurden die Parameter für jedes vorkompilierte Gerät binär ausgewählt, um die Leistung auf dem jeweiligen Mainboard zu maximieren. Im Beispielpaket finden Sie weitere Details, die zeigen, wie einfach es ist, den Kernel so zu parameterisieren, dass er auf unterschiedliche Leistungs- und Ressourcenanforderungen ausgerichtet ist.

Außerdem ist die Host-Anwendung eingerichtet, um mehrere OpenCL-Geräte automatisch zu nutzen, indem die Rechenmenge verteilt wird und noch mehr Parallelität erzielt wird.

Spitzenmatrix-Multiplikationsleistung

Funktionen

  • Optimierte Implementierung des grundlegenden Betriebs
  • Pufferung des lokalen Speichers
  • Compiler-Optimierungen (Schleife entpacken, num_simd_work_items-Attribut)
  • Gleitkommaoptimierungen
  • Ausführung mehrerer Geräte

Downloads

Das Design-Beispiel liefert den Quellcode für das OpenCL-Gerät (.cl) und die Host-Anwendung. Zum Kompilieren der Host-Anwendung enthält das Linux-Paket eine Makefile und das Windows-Paket enthält ein Microsoft Visual Studio 2010-Projekt.

Die folgenden Downloads werden für dieses Beispiel bereitgestellt:

Die Verwendung dieses Designs unterliegt den Bedingungen der Hardware-Referenzdesignlizenzvereinbarung.

Software- und Hardware-Anforderungen

Dieses Designbeispiel erfordert die folgenden Tools:

  • Intel FPGA Software v17.1 oder neuer
  • Intel FPGA SDK für OpenCL™ v17.1 oder neuer
  • Unter Linux: GNU Make und gcc
  • Unter Windows: Microsoft Visual Studio 2010

Um die Intel Design-Tools herunterzuladen, besuchen Sie die OpenCL-Download-Seite. Die Anforderungen an das zugrundeliegende Betriebssystem sind dieselben wie die des Intel FPGA SDK für OpenCL.

OpenCL und das OpenCL-Logo sind Marken von Apple Inc., die mit Genehmigung von Khronos verwendet werden.

* Das Produkt basiert auf einer veröffentlichten Khronos-Spezifikation und hat den Khronos-Konformitätstest bestanden. Den aktuellen Konformitätsstatus finden Sie unter www.khronos.org/conformance.

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.