[Solved] Ausführen eines leeren Kernels

SupeRalF
Mausschubser
Mausschubser
Beiträge: 56
Registriert: 4. Okt 2010 16:48

[Solved] Ausführen eines leeren Kernels

Beitrag von SupeRalF » 19. Jan 2012 19:35

Ich habe versucht, das Praktikum auf der GPU auszuführen, indem ich den Kernel erst einmal leer gelassen habe. Leider stürzt das Programm in der Mitte ab. Auf meinem Rechner (Linux 32bit, AMD APP SDK) bekomme ich gar keine Fehlermeldung, auf dem Cluster bekomme ich "CL_DEVICE_NOT_FOUND".
Zumindest mein Rechner kommt nich über folgenden Code in der oclutil.cpp hinaus:

Code: Alles auswählen

	if (oclError != CL_SUCCESS) {
		std::cout << oclErrorString(oclError);
		exit(oclError);
	}
Ich habe einen SandyBridge Prozessor und eine AMD Grafikkarte. Was mache ich falsch? ich habe ja nicht einmal etwas am Projekt geändert...
Zuletzt geändert von SupeRalF am 20. Jan 2012 14:03, insgesamt 1-mal geändert.

xshisdi32
Mausschubser
Mausschubser
Beiträge: 73
Registriert: 10. Apr 2011 17:24
Wohnort: Bessungen, Darmstadt
Kontaktdaten:

Re: Ausführen eines leeren Kernels

Beitrag von xshisdi32 » 19. Jan 2012 19:43

Auf die Gris-Rechner funktioniert das CPU/OpenCL code nicht. Vielleicht hast du jetzt das selbe Problem (oclutil.cpp kann keine CPU devices finden). Versuch mal mit "-oclgpu" für GPU/OpenCL Ausführung.

SupeRalF
Mausschubser
Mausschubser
Beiträge: 56
Registriert: 4. Okt 2010 16:48

Re: Ausführen eines leeren Kernels

Beitrag von SupeRalF » 19. Jan 2012 19:50

[EDIT]

Ok, danke, das mit dem Cluster hat sich erledigt! Der Kernel lag an der falschen Stelle.
Der Kernel muss neben die CMakeList; bei mir also direkt in den AMD Ordner. ich hatte die Datei neben die executable gelegt, also in meinen build ordner.

Auf meinem eigenen Rechner funktioniert es leider immer noch nicht.
Zuletzt geändert von SupeRalF am 19. Jan 2012 19:59, insgesamt 1-mal geändert.

xshisdi32
Mausschubser
Mausschubser
Beiträge: 73
Registriert: 10. Apr 2011 17:24
Wohnort: Bessungen, Darmstadt
Kontaktdaten:

Re: Ausführen eines leeren Kernels

Beitrag von xshisdi32 » 19. Jan 2012 19:57

Code: Alles auswählen

janus@Zeus:~/Dropbox/TUD/gdi3/praktikum5/code$ grep -inH "oclMIcomputation" *.cpp *.h
oclutil.h:8:#define KERNEL_SOURCE 	"../oclMIcomputation.cl"	// location of the kernel file relative to pr5 executable
oclutil.h:9:#define KERNEL_NAME 	"oclMIcomputation"			// the name of the kernel to execute
janus@Zeus:~/Dropbox/TUD/gdi3/praktikum5/code$ 

SupeRalF
Mausschubser
Mausschubser
Beiträge: 56
Registriert: 4. Okt 2010 16:48

Re: Ausführen eines leeren Kernels

Beitrag von SupeRalF » 19. Jan 2012 20:14

Ok, damit funktioniert das jetzt zwar auf den Cluster, aber nicht auf der CPU, wo wir eigentlich testen sollen. Und auf meinem eigenen Rechner, wo ich die GPU bedenkenlos abschießen dürfte, komme ich dadurch nicht weiter, denn es kommt immer noch nicht über diesen einen Punkt hinweg. Könnte das daran liegen, dass ich 2 Grafikkarten habe (Integrierte Sandy Bridge Grafik und dedizierte AMD)?

mw1039
Computerversteher
Computerversteher
Beiträge: 346
Registriert: 12. Apr 2011 12:18

Re: Ausführen eines leeren Kernels

Beitrag von mw1039 » 20. Jan 2012 09:38

S. Aufgabenstellung:
Auf dem GRIS-Cluster ist nur das NVIDIA-OpenCL-SDK installiert. Es ist daher nur möglich den Code auf einer der GPUs auszuführen.
Ihr solltet den Code am besten auf eurem eigenen Rechner auf der CPU testen (auf der CPU kann ja nichts passieren), bis er korrekt arbeitet, und ihn dann erst auf dem Cluster auf der GPU laufen lassen.

SupeRalF
Mausschubser
Mausschubser
Beiträge: 56
Registriert: 4. Okt 2010 16:48

Re: Ausführen eines leeren Kernels

Beitrag von SupeRalF » 20. Jan 2012 13:48

[Edit]: Ich habe es jetzt hinbekommen. Ich habe in MIcomputation.cpp und oclutil.cpp die cstdlib included (keine Ahnung ob das notwendig ist) und das AMD SKD neu installiert. jetzt geht es über die CPU. Für die GPU bräuchte ich wohl die Catalyst Treiber, die mir dann aber verhindern, die stromhungrige radeon abzuschalten. Über die CPU reicht mir das aber sowieso zum testen vollkommen aus.

Antworten

Zurück zu „Archiv“