Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
AMD Developer Central: Webinar-Reihe zur OpenCL-Programmierung.2. Einführung in OpenCL
2- Einführung in OpenCL
Dieses Video bietet eine detaillierte Einführung in OpenCL, eine Plattform für paralleles Rechnen, die CPUs und GPUs verwenden kann, um Berechnungen zu beschleunigen. In OpenCL geschriebene Programme können auf verschiedenen Geräten und Architekturen ausgeführt werden, wodurch Code über verschiedene Plattformen hinweg portierbar ist. Das Video diskutiert die verschiedenen Ausführungsmodelle in OpenCL, einschließlich Datenparallelität und Aufgabenparallelität, und behandelt auch die verschiedenen Objekte und Befehle, die in OpenCL verwendet werden, wie z. B. Speicherobjekte, Befehlswarteschlangen und Kernelobjekte. Das Video befasst sich auch mit den Vorteilen und Einschränkungen der Verwendung von OpenCL, wie z. B. der Notwendigkeit einer expliziten Speicherverwaltung und dem Potenzial für erhebliche Leistungsverbesserungen in parallelen Programmen.
AMD Developer Central: Webinar-Reihe zur OpenCL-Programmierung. 3. GPU-Architektur
3 - GPU-Architektur
Dieses Video bietet einen Überblick über die GPU-Architektur, wobei die Ursprünge und die primäre Verwendung von GPUs als Grafikprozessoren berücksichtigt werden. GPUs sind für die Verarbeitung von Pixeln mit einem hohen Grad an Parallelität ausgelegt, im Gegensatz zu CPUs, die für die skalare Verarbeitung mit Pipelines mit geringer Latenz ausgelegt sind. Die Architektur von GPUs ist für grafikspezifische Aufgaben optimiert, die möglicherweise nicht für allgemeine Berechnungen geeignet sind. Der Referent erklärt, wie die GPU den Durchsatz einer Reihe von Threads maximiert, anstatt die Ausführungslatenz eines einzelnen Threads zu minimieren. Die Architektur des GPU-Engine-Blocks wird ebenfalls diskutiert, einschließlich lokaler Datenfreigaben, Wellenfronten und Arbeitsgruppen. Das Video untersucht verschiedene Funktionen der GPU-Architektur, die dazu beitragen, den Packumfang des Compilers zu erhöhen, einschließlich der Ausgabe abhängiger Operationen in einem einzigen Paket und der Unterstützung abhängiger Zähler mit globalem Beta-Anteil. Obwohl die Designs der GPU- und CPU-Kerne ähnlich sein können, müssen ihre Workloads konvergieren, damit sie ähnliche Designs haben.
In diesem Video zur GPU-Architektur geht der Referent auf das Konzept von Barrieren und deren Funktion ein. Wenn eine Arbeitsgruppe mehrere Wellenfronten in einer GPU enthält, werden Barrieren verwendet, um diese Wellenfronten zu synchronisieren. Existiert jedoch in einer Gruppe nur eine Work Wavefront, werden Barrieren bedeutungslos und auf Non-Operations reduziert.
AMD Developer Central: Webinar-Reihe zur OpenCL-Programmierung. 4 OpenCL-Programmierung im Detail
4 - OpenCL-Programmierung im Detail
In diesem Video gibt der Referent einen Überblick über die OpenCL-Programmierung und diskutiert seine Sprache, Plattform und Laufzeit-APIs. Sie erläutern das Programmiermodell, das eine feinkörnige Parallelisierung, Arbeitselemente und Gruppen oder Threads, Synchronisierung und Speicherverwaltung erfordert. Der Sprecher erörtert dann den n-Körper-Algorithmus und seine rechnerische Ordnung als n-Quadrat-Natur. Sie erklären, wie OpenCL-Kernel-Code die Position und Geschwindigkeit von Partikeln in der Newtonschen Mechanik aktualisiert, einen Cache zum Speichern einer Partikelposition einführt und wie der Kernel die Partikelposition und -geschwindigkeit mithilfe von Float-Vektordatentypen aktualisiert. Der Referent geht auch darauf ein, wie der Host-Code mit OpenCL-Kernels interagiert, indem er die Parameter und Argumente explizit setzt, Daten zwischen dem Host und der GPU überträgt und die Kernel-Ausführung für die Synchronisierung in die Warteschlange stellt. Schließlich untersucht das Video, wie der OpenCL-Code geändert wird, um mehrere Geräte zu unterstützen, Daten zwischen den GPUs zu synchronisieren und Geräte-IDs für Arrays halber Größe festzulegen, die diese repräsentieren.
Der zweite Teil behandelt verschiedene Aspekte der OpenCL-Programmierung. Es behandelt Themen wie das Doppelpufferschema zum Synchronisieren der aktualisierten Partikelposition zwischen zwei Arrays, OpenCL-Einschränkungen und den Unterschied zwischen globalen und lokalen Zeigern bei der Speicherzuweisung. Darüber hinaus werden Optimierungstechniken für die OpenCL-Programmierung hervorgehoben, einschließlich Vektoroperationen, kontrollierter Speicherzugriff und Loop-Unrolling, zusammen mit Tools, die zur Analyse der OpenCL-Implementierung verfügbar sind, wie z. B. Profiling-Tools. Der Moderator empfiehlt den OpenCL-Standard als Ressource für OpenCL-Programmierer und stellt URLs für den Standard und das ATI Stream SDK bereit. Das Video behandelt auch Fragen zu Themen wie Memory-Sharing, Code-Optimierung, Speicherzuordnung und Auslastung von Recheneinheiten.
AMD Developer Central: Webinar-Reihe zur OpenCL-Programmierung. 5. Reale OpenCL-Anwendungen
5 - Reale OpenCL-Anwendungen
In diesem Video spricht Joachim Deguara über eine Multi-Stream-Videoverarbeitungsanwendung, an der er gearbeitet hat, mit Schwerpunkt auf Leistungsoptimierung. Das Video behandelt verschiedene Themen wie das Dekodieren von Videoformaten, die Verwendung von DMA zum Übertragen von Speicher zwischen CPU und GPU, doppeltes Puffern, Ausführen von Kerneln, Verwenden von Ereignisobjekten zum Synchronisieren und Profilieren von Vorgängen, OpenCL-OpenGL-Interop, Verarbeitung von Swipes in Videos und Auswahl zwischen OpenCL und OpenGL bei der Verarbeitung von Algorithmen. Joachim erörtert auch verschiedene Sampling- und SDKs, die für OpenCL-Anwendungen verfügbar sind, stellt jedoch fest, dass derzeit kein Beispielcode für die im Video besprochene spezifische Anwendung verfügbar ist.
AMD Developer Central: Webinar-Reihe zur OpenCL-Programmierung. 6. Device Fission-Erweiterungen für OpenCL
6 - Device Fission-Erweiterungen für OpenCL
In diesem Video behandelt der Referent verschiedene Themen im Zusammenhang mit Gerätespaltungserweiterungen für OpenCL. Sie erklären die verschiedenen Arten von Erweiterungen und wie die Gerätespaltung es ermöglicht, große Geräte in kleinere zu unterteilen, was nützlich ist, um einen Kern für Aufgaben mit hoher Priorität zu reservieren oder sicherzustellen, dass bestimmte Arbeitsgruppen bestimmten Kernen zugewiesen werden. Sie diskutieren die Bedeutung der Beibehaltung der sequentiellen Semantik bei der Parallelisierung von Vektor-Pushback-Operationen, der Verwendung paralleler Muster zur Optimierung des Prozesses und der Erstellung nativer Kernel in OpenCL. Der Redner demonstriert auch eine Anwendung, die die Gerätespaltung für OpenCL nutzt, und diskutiert die Speicheraffinität und die Zukunft der Gerätespaltung auf anderen Geräten.
AMD Developer Central: Webinar-Reihe zur OpenCL-Programmierung. 7. Geglättete Partikelhydrodynamik
7 – Geglättete Partikelhydrodynamik
Dieses Video behandelt die Smoothed Particle Hydrodynamics (SPH), eine Technik zur Lösung von Gleichungen für die Fluiddynamik, insbesondere die Navier-Stokes-Gleichungen. Das Video erklärt die verschiedenen Terme in den Gleichungen, einschließlich der Terme für Dichte, Druck und Viskosität, und wie sie mit einem Glättungskern angenähert werden. Der für SPH verwendete numerische Algorithmus sowie die Verwendung von räumlicher Indizierung und Interop werden ebenfalls diskutiert. Der Referent erklärt den Prozess der Erstellung eines räumlichen Index und einer Nachbarkarte und wie die Physik berechnet wird. Das Video lädt Zuschauer ein, das Programm herunterzuladen und zu verwenden, und diskutiert die Grenzen der Simulation. Der Redner beantwortet dann Fragen aus dem Publikum zur GPU-Leistung, zum nicht komprimierbaren Verhalten und zur Verwendung von zwischengespeicherten Bildern.
AMD Developer Central: Webinar-Reihe zur OpenCL-Programmierung. 8. Optimierungstechniken: Bildfaltung
In diesem Video diskutiert Udeepta D. Bordoloi die Optimierungstechniken bei der Bildfaltung.
AMD Developer Inside Track: So optimieren Sie die Bildfaltung
So optimieren Sie die Bildfaltung
In diesem Video werden verschiedene Methoden zur Optimierung der Bildfaltung erläutert, darunter die Verwendung lokaler Datenfreigabe, die Optimierung von Konstanten und die Verwendung größerer lokaler Bereiche zur Verbesserung der Effizienz. Der Redner betont die Bedeutung der Minimierung der Verarbeitungszeit bei der Bildfaltung zur Verbesserung der Gesamtleistung und hebt ein neues Verfahren zur Wiederverwendung von Daten unter Verwendung von lokalem Speicher hervor. Das Video bietet Vorschläge für Optimierungsschritte wie die Verwendung von offensichtlichen oder Texturen, die Verwendung von Gedankenkraft und die Verwendung der Weitergabeoptionen an den Zähler. Ein Schritt-für-Schritt-Artikel zur Optimierung von Bildfaltungstechniken ist auf der Entwickler-Website von AMD verfügbar.
AMD Developer Central: Technischer Überblick über OpenCL. Einführung in OpenCL
AMD Developer Central: Technischer Überblick über OpenCL. Einführung in OpenCL
In diesem Video gibt Michael Houston einen Überblick über OpenCL, einen Industriestandard für parallele Datenverarbeitung, der auf Mehrkern-CPUs, mobile Geräte und andere Formen von Silizium abzielt. OpenCL zielt darauf ab, zuvor konkurrierende proprietäre Implementierungen wie CUDA und Brook+ zu vereinheitlichen, was die Entwicklung für unabhängige Softwareanbieter vereinfachen wird. Es bietet eine Aufschlüsselung zwischen Code, der auf dem Gerät ausgeführt wird, und Code, der das Gerät mithilfe eines Warteschlangensystems verwaltet, das für Feedback mit Spieleentwicklern entwickelt wurde. OpenCL wurde entwickelt, um gut mit Grafik-APIs zusammenzuarbeiten und eine allgegenwärtige Computersprache zu schaffen, die für verschiedene Anwendungen wie Foto- und Videobearbeitung sowie für künstliche Intelligenzsysteme, Modellierung und Physik verwendet werden kann. Der Moderator erörtert auch die Verwendung von OpenCL für das Hollywood-Rendering und hofft auf weitere Arbeiten in diesem Bereich.
AMD Developer Central: Folge 1: Was ist OpenCL™?
AMD Developer Central: Folge 1: Was ist OpenCL™?
Dieses Video bietet eine Einführung in OpenCL und seine Designziele, die sich auf die Nutzung verschiedener Prozessoren konzentrieren, um parallele statt sequentielle Berechnungen zu beschleunigen. OpenCL ermöglicht das Schreiben von portablem Code für verschiedene Prozessoren unter Verwendung von Kerneln, globalen und lokalen Dimensionen und Arbeitsgruppen. Arbeitsaufgaben und Arbeitsgruppen können durch gemeinsame Nutzung von Ressourcen zusammenarbeiten, aber eine Synchronisierung zwischen Arbeitsaufgaben in verschiedenen Arbeitsgruppen ist nicht möglich. Die optimalen Problemabmessungen variieren je nach Verarbeitungsart, und es ist wichtig, die besten Abmessungen für die beste Leistung auszuwählen. OpenCL kann die Fähigkeiten eines Systems vollständig nutzen, indem Task- und Datenparallelität zusammen mit dem OpenCL-Ereignismodell ausgedrückt werden.