OPEN CL, Python und Parallelisierung

stimmen
0

Als Starter eröffnen CL, Ich habe eine einfache Verständnisfrage GPU-Computing zu optimieren.

Soweit ich verstanden, kann ich also eine Matrix von 1000 X 1000 machen und zur gleichen Zeit unter Verwendung einer GPU an jedem Bildpunkt ein Code gesetzt. Was über die folgende Option:

  • Ich habe 100 mal ein 100 x 100 Matrices und müssen sie anders berechnen. Also muss ich
    die Serien tun oder kann ich 100 Instanzen starten, also beginne ich 100 Python multiprocesses und jeweils eine Matrix - Berechnung auf der GPU schießen (assumning thetre genügend Ressourcen).

  • Andersrum, ich habe eine Matrix von 1000 X 1000 und 100 andere Instanz zu berechnen, kann ich dies als zur gleichen Zeit oder serielle Verarbeitung?

Jede Beratung oder ein Konzept, wie dies der schnellste Weg zu lösen ist willkommen

dank Adrian

Veröffentlicht am 23/04/2014 um 20:15
vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Das OpenCL Ausführungsmodell dreht sich um Kerne, die nur Funktionen, die für jeden Punkt in Ihrer Problemdomäne ausführen. Wenn Sie einen Kernel für die Ausführung auf dem OpenCL-Gerät starten, definieren Sie einen 1, 2 oder 3-dimensionalen Indexraum für diese Domain (auch bekannt als die NDRange oder globale Arbeitsgröße). Es ist ganz Ihnen überlassen, wie Sie die NDRange auf Ihre eigentliche Problem abzubilden.

Zum Beispiel könnten Sie einen NDRange starten, 100x100x100, um 100 Sätze von 100x100 Matrizen zu verarbeiten (vorausgesetzt, sie alle unabhängig sind). Ihr Kernel definiert dann die Berechnung für ein einzelnes Element einer dieser Matrizen. Alternativ können Sie 100-Kernel starten, die jeweils mit einem 100x100 NDRange das Gleiche zu erreichen. Ersteres ist wahrscheinlich schneller, da sie den Aufwand für das Starten mehrerer Kernel vermeidet.

Ich empfehle einen Blick auf die Einnahme OpenCL - Spezifikation für weitere Informationen über die OpenCL Ausführungsmodell. Insbesondere weist 3,2 Abschnitt eine große Beschreibung der grundlegenden Konzepte kernel Ausführung umgibt.

Beantwortet am 23/04/2014 um 20:34
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more