2009-09-14 5 views
5

Ich suche nach einführenden Beispielen für OpenCL, die die Arten von Anwendungen veranschaulichen, die große (z. B. 50x-1000x) Zunahmen der Geschwindigkeit erfahren können. Cuda hat viele schöne Beispiele, aber ich habe nicht das gleiche für OpenCL gefunden.OpenCL-Beispiele mit Benchmarks

Ein schönes Beispiel könnte über Partikelschwärme, simulierte Glühen, evolutionäre Algorithmen, Ameisenkolonie Optimierung usw.

Antwort

4

Die Algorithmen zur globalen Optimierung komplexer Funktionen, die Sie weder einfach noch einführende aus der Perspektive der GPU Programmierung beschreiben werden, sind . Der Grund, warum CUDA Beispiele in diesen Bereichen hat, ist, dass es lange genug existiert, dass die Menschen diese Beispiele entwickelt haben. Es gibt derzeit keine öffentlich verfügbare Version von OpenCL, die auf GPUs ausgeführt wird. Sowohl ATI als auch NVIDIA bieten Beta-Versionen ihrer OpenCL-Treiber, aber ATI unterstützt nur CPU-Berechnungen und NVIDIAs erfordert das Signieren einer NDA, um zu erhalten. Kurz gesagt, OpenCL war noch nicht lange genug, um umfassende Beispiele wie diese zu entwickeln und zu demonstrieren.

Das heißt, Zugriff auf NVIDIA OpenCL-Treiber ist nicht schwierig. Sie können herausfinden, wie Sie dies in ihren Foren tun können here. Ich nehme an, dass die OpenCL-Distribution einige Beispielprogramme enthält, die Ihnen den Einstieg erleichtern.

Dies bedeutet auch, dass es eine ausgezeichnete Gelegenheit für Sie ist, einige dieser Benchmarks zu entwickeln und Ihre Ergebnisse zu veröffentlichen. Dann beziehen sich die Leute auf Ihre Arbeit und nicht auf Ihre Arbeit. Ich würde allerdings nicht zu viele Überraschungen erwarten. Die OpenCL-Leistung sollte in etwa der CUDA-Leistung entsprechen, sobald sie allgemein verfügbar und unterstützt wird.

+3

"Es gibt derzeit keine öffentlich verfügbare Version von OpenCL, die auf GPUs läuft." Nicht sicher, ob dies der Fall war, als Sie im September geantwortet haben, aber es ist jetzt definitiv nicht der Fall. Sowohl AMD (ATI) als auch Nvidia haben OpenCL-Implementierungen, die gut funktionieren. – dwf

0

Sie könnten die folgenden zwei Bücher versuchen:

Massively Parallel Processors Programmierung ... Ein Hands-on-Ansatz (NVIDIA() Kapitel 1 und 2)

Das OpenCL Programming Buch ... Parallele Programmierung für Multicore CPU und GPU (History Komponenten

Beide gehen ausführlich darauf ein zu erklären, warum die Entwicklung gemacht wurde und wo die wahren Bonusse gefunden werden können.

Nicht sicher über Benchmarking, habe ich selbst auch kein Glück dort.