Dieser Kurs richtet sich an alle, die lernen möchten, wie man FPGA-beschleunigte Anwendungen mit SDAccel entwickelt! Wir treten in eine Ära ein, in der der technologische Fortschritt zu einem Paradigmenwechsel im Computing führt! Als Kompromiss zwischen den beiden extremen Eigenschaften von GPP und ASIC können wir ein neues Konzept, eine neue Idee des Computing finden... das rekonfigurierbare Computing, das die Vorteile der beiden vorherigen Welten vereint. In diesem Zusammenhang können wir sagen, dass das rekonfigurierbare Computing das Leben der Menschen weitreichend, allgegenwärtig und schrittweise beeinflussen wird. Daher ist es an der Zeit, dass wir uns darauf konzentrieren, wie rekonfigurierbares Computing und rekonfigurierbare Systemdesigntechniken für die Entwicklung von Anwendungen genutzt werden können. Einerseits kann rekonfigurierbares Computing eine bessere Leistung im Vergleich zu einer Softwareimplementierung bieten, was jedoch mit einem höheren Zeitaufwand für die Implementierung verbunden ist. Andererseits kann ein rekonfigurierbarer Baustein dazu verwendet werden, ein System zu entwerfen, ohne die gleiche Designzeit und Komplexität im Vergleich zu einer vollständig kundenspezifischen Lösung zu benötigen, aber in Bezug auf die Leistung geschlagen zu werden. In diesem Zusammenhang bieten die SDx-Tools von Xilinx, einschließlich der SDAccel-Umgebung, der SDSoC-Umgebung und Vivado HLS, eine Out-of-the-Box-Erfahrung für Systemprogrammierer, die Elemente einer Softwareanwendung partitionieren möchten, um sie in einem FPGA-basierten Hardwareelement laufen zu lassen, wobei diese Hardware nahtlos mit dem Rest der Anwendung zusammenarbeitet, die in einem Prozessor oder eingebetteten Prozessor läuft.
Entwicklung von FPGA-beschleunigten Cloud-Anwendungen mit SDAccel: Theorie
Dozent: Marco Domenico Santambrogio
4.029 bereits angemeldet
Bei enthalten
(76 Bewertungen)
Empfohlene Erfahrung
Was Sie lernen werden
Die Theorie, wie man FPGA-beschleunigte Anwendungen mit SDAccel entwickelt.
Kompetenzen, die Sie erwerben
- Kategorie: Grundsätze der Programmierung
- Kategorie: Computer Architektur
- Kategorie: Konzepte der Programmiersprache
Wichtige Details
Zu Ihrem LinkedIn-Profil hinzufügen
7 Aufgaben
Erfahren Sie, wie Mitarbeiter führender Unternehmen gefragte Kompetenzen erwerben.
Erwerben Sie ein Karrierezertifikat.
Fügen Sie diese Qualifikation zur Ihrem LinkedIn-Profil oder Ihrem Lebenslauf hinzu.
Teilen Sie es in den sozialen Medien und in Ihrer Leistungsbeurteilung.
In diesem Kurs gibt es 6 Module
Seit Mitte der 1980er Jahre hat sich das rekonfigurierbare Computing dank der Fortschritte in der FPGA-Technologie zu einem beliebten Bereich entwickelt. Ein FPGA ist ein Halbleiterbaustein, der programmierbare Logikkomponenten und programmierbare Verbindungen enthält, aber keine Befehle zur Laufzeit abruft, d.h. FPGAs haben keinen Programmzähler. In den meisten FPGAs können die Logikkomponenten so programmiert werden, dass sie die Funktionalität von grundlegenden Logikgattern oder funktionalen Intellectual Properties (IPs) duplizieren. FPGAs enthalten auch Speicherelemente, die aus einfachen Flip-Flops oder komplexeren Speicherblöcken bestehen. FPGAs ermöglichen also die dynamische Ausführung und Konfiguration von Hardware und Software auf einem einzigen Chip. Dieses Modul bietet eine detaillierte Beschreibung der FPGA-Technologien, angefangen von einer allgemeinen Beschreibung bis hin zur Diskussion der Low-Level-Konfigurationsdetails dieser Bausteine, der Bitstream-Zusammensetzung und der Beschreibung der Konfigurationsregister.
Das ist alles enthalten
9 Videos2 Aufgaben
Die Xilinx SDAccel Entwicklungsumgebung ermöglicht es dem Benutzer, Kernel in OpenCL C, C++ und RTL (als Beispiel können wir an SystemVerilog, Verilog oder VHDL denken) zu formulieren, die auf den programmierbaren Plattformen von Xilinx laufen. Die programmierbare Plattform besteht aus (1) dem SDAccel Xilinx Open Code Compiler (XOCC), (2) einem Device Support Archive (DSA), das die Hardwareplattform beschreibt, (3) einer Softwareplattform, (4) einem Accelerator Board und5. nicht zuletzt der SDAccel OpenCL Laufzeitumgebung. In diesem Modul werden wir nach einer Einführung in OpenCL sehen, wie diese Sprache in SDAccel eingesetzt wurde und welche Hauptkomponenten diese Toolchain hat.
Das ist alles enthalten
7 Videos1 Lektüre1 Aufgabe
In diesem Modul werden wir, bevor wir uns mit der Optimierung befassen, zunächst verstehen, wie ein FPGA funktioniert, auch vom rechnerischen Standpunkt aus gesehen. Obwohl der traditionelle FPGA-Designablauf eher einem regulären IC als einem Prozessor ähnelt, bietet ein FPGA erhebliche Kostenvorteile im Vergleich zu einem IC-Entwicklungsaufwand und bietet in den meisten Fällen das gleiche Leistungsniveau. Ein weiterer Vorteil von FPGAs gegenüber ICs ist ihre Fähigkeit, dynamisch rekonfiguriert zu werden. Dieser Prozess, der dem Laden eines Programms in einen Prozessor entspricht, kann einen Teil oder die Gesamtheit der in der FPGA-Fabric verfügbaren Ressourcen betreffen. Im Vergleich zu Prozessorarchitekturen ermöglichen die Strukturen, aus denen die FPGA-Fabric besteht, ein hohes Maß an Parallelität bei der Anwendungsausführung. Die benutzerdefinierte Verarbeitungsarchitektur, die von SDAccel für einen OpenCL-Kernel erzeugt wird, stellt ein anderes Ausführungsparadigma dar. Dies muss bei der Entscheidung, eine Anwendung von einem Prozessor auf ein FPGA zu portieren, berücksichtigt werden. Um ein solches Szenario besser zu verstehen, werden wir kurz die sequentielle Ausführung auf einem Prozessor mit der inhärenten Parallelität einer FPGA-Implementierung vergleichen. Darüber hinaus werden wir uns in diesem Modul mit dem Ablauf der Anwendungsoptimierung vertraut machen. Die Xilinx SDAccel-Umgebung ist eine vollständige Software-Entwicklungsumgebung zum Erstellen, Kompilieren und Optimieren von OpenCL-Anwendungen, die auf Xilinx FPGAs beschleunigt werden sollen. Aus der Perspektive eines Entwicklers können wir den Ablauf der Optimierung einer Anwendung in der SDAccel-Umgebung in drei Phasen einteilen. Diese drei Phasen sind: (1) Baselining der Funktionalitäten und der Leistung, (2) Optimierung der Datenbewegung und (3) Optimierung der Kernel-Berechnungen
Das ist alles enthalten
5 Videos1 Lektüre1 Aufgabe
In diesem Modul werden wir die verfügbaren SDAccel-Optimierungen aus der Vogelperspektive betrachten. Die vorgestellten Optimierungen sind nicht die einzigen verfügbaren, sondern stellen eher eine Liste von Empfehlungen zur Optimierung der Leistung einer OpenCL-Anwendung dar, die als Ausgangspunkt für weitere Überlegungen oder Untersuchungen dienen sollen. In diesem Zusammenhang werden wir diese "Empfehlungen" in drei Gruppen von Optimierungen einteilen: (1) arithmetische Optimierungen, (2) datenbezogene Optimierungen und schließlich (3) speicherbezogene Optimierungen.
Das ist alles enthalten
6 Videos2 Lektüren1 Aufgabe
Nach einer allgemeinen Beschreibung der möglichen Optimierungen werden wir uns in diesem Modul auf vier spezifische Optimierungen konzentrieren (1) Schleifenabrollung, (2) Schleifen-Pipelining, (3) Array-Partitionierung und (4) die Host-Optimierungen. Zunächst werden wir das Abrollen von Schleifen beschreiben, d.h. das Abrollen der Schleifeniterationen, so dass die Anzahl der Iterationen der Schleife reduziert wird und der Schleifenkörper zusätzliche Berechnungen durchführt. Diese Technik ermöglicht es, zusätzliche Parallelität auf Anweisungsebene freizulegen, die Vivado HLS zur Implementierung des endgültigen Hardwaredesigns nutzen kann. Danach stellen wir die Schleifen-Pipelining-Optimierung vor, bei der wir von einer sequentiellen Ausführung der Schleifeniterationen zu einer Pipelining-Ausführung übergehen, bei der sich die Schleifeniterationen zeitlich überlappen. Danach stellen wir die Optimierung der Array-Partitionierung vor, mit der die Nutzung der BRAM-Ressourcen optimiert werden kann, um die Leistung des Kernels zu verbessern. Am Ende dieses Moduls werden wir Optimierungen im Zusammenhang mit dem Hostsystem besprechen, das für die Übertragung der Daten zum und vom FPGA-Board sowie für das Senden des Befehls zum Starten der Ausführung eines Kernels verantwortlich ist.
Das ist alles enthalten
6 Videos2 Lektüren1 Aufgabe
Das ist alles enthalten
3 Videos1 Lektüre1 Aufgabe
Dozent
Empfohlen, wenn Sie sich für Design und Produkt interessieren
Politecnico di Milano
Advancing Women in Tech
University of Illinois Urbana-Champaign
Politecnico di Milano
Warum entscheiden sich Menschen für Coursera für ihre Karriere?
Bewertungen von Lernenden
Zeigt 3 von 76
76 Bewertungen
- 5 stars
76,31 %
- 4 stars
22,36 %
- 3 stars
0 %
- 2 stars
1,31 %
- 1 star
0 %
Geprüft am 16. Jan. 2020
Geprüft am 20. Juni 2020
Geprüft am 23. März 2020
Neue Karrieremöglichkeiten mit Coursera Plus
Unbegrenzter Zugang zu über 7.000 erstklassigen Kursen, praktischen Projekten und Zertifikatsprogrammen, die Sie auf den Beruf vorbereiten – alles in Ihrem Abonnement enthalten
Bringen Sie Ihre Karriere mit einem Online-Abschluss voran.
Erwerben Sie einen Abschluss von erstklassigen Universitäten – 100 % online
Schließen Sie sich mehr als 3.400 Unternehmen in aller Welt an, die sich für Coursera for Business entschieden haben.
Schulen Sie Ihre Mitarbeiter*innen, um sich in der digitalen Wirtschaft zu behaupten.
Häufig gestellte Fragen
Der Zugang zu Vorlesungen und Aufgaben hängt von der Art Ihrer Einschreibung ab. Wenn Sie einen Kurs im Prüfungsmodus belegen, können Sie die meisten Kursmaterialien kostenlos einsehen. Um auf benotete Aufgaben zuzugreifen und ein Zertifikat zu erwerben, müssen Sie die Zertifikatserfahrung während oder nach Ihrer Prüfung erwerben. Wenn Sie die Prüfungsoption nicht sehen:
Der Kurs bietet möglicherweise keine Prüfungsoption. Sie können stattdessen eine kostenlose Testversion ausprobieren oder finanzielle Unterstützung beantragen.
Der Kurs bietet möglicherweise stattdessen die Option 'Vollständiger Kurs, kein Zertifikat'. Mit dieser Option können Sie alle Kursmaterialien einsehen, die erforderlichen Bewertungen abgeben und eine Abschlussnote erhalten. Dies bedeutet auch, dass Sie kein Zertifikat erwerben können.
Wenn Sie sich für den Kurs einschreiben, erhalten Sie Zugang zu allen Kursen der Specializations, und Sie erhalten ein Zertifikat, wenn Sie die Arbeit abgeschlossen haben. Ihr elektronisches Zertifikat wird Ihrer Erfolgsseite hinzugefügt - von dort aus können Sie Ihr Zertifikat ausdrucken oder zu Ihrem LinkedIn-Profil hinzufügen. Wenn Sie die Kursinhalte nur lesen und ansehen möchten, können Sie den Kurs kostenlos besuchen.
Wenn Sie ein Abonnement abgeschlossen haben, erhalten Sie eine kostenlose 7-tägige Testphase, in der Sie kostenlos kündigen können. Danach gewähren wir keine Rückerstattung, aber Sie können Ihr Abonnement jederzeit kündigen. Siehe unsere vollständigen Rückerstattungsbedingungen.