GPU für Übung11

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

GPU für Übung11

Beitrag von SupeRalF »

Hi,
Ich habe versucht, die letzte Übung mit OpenCL auf meinem eigenen Rechner, einem Asus Netbook auszuführen. Dieses Netbook hat einen Intel Atom N280 und die dazu passende Intel GMA945 und ist aktuell mein einziger Rechner mit Linux, da ich Linux nur für die Uni benötige und das Netbook stets mitnehme.
Da ich also keine Nvidia Grafik habe und die CPU von SSE4.1 noch nie etwas gehört hat, habe ich wie im aktuellen Praktikum beschrieben das AMD OpenCL SDK installiert. Ein paar Include Befehle später habe ich das Projekt mit dem hier im Forum geposteten g++ Befehl kompilieren können (mit make kriege ich es nicht hin), aber die Ausführung schlägt noch immer fehl:

Code: Alles auswählen

ERROR: Failed to query number of OpenCL capable GPUs!
ERROR: init opencl device
Liegt das daran, dass mein kleiner Intel GMA nicht fähig ist, das Projekt auszuführen, oder habe ich noch etwas falsch gemacht? weil ich dachte eigentlich, das AMD SDK könnte den OpenCL Code auf auf der CPU ausführen. Aber wenn es an der schwachen Grafikkarte liegt: Wird für das aktuelle Praktikum auch eine "spezielle" Grafikkarte benötig? Weil während ich diese Übung noch auf dem Cluster bearbeitet habe, wurde dies ja für das Praktikum untersagt!

Gruß
SupeRalF

oliver_g
Mausschubser
Mausschubser
Beiträge: 62
Registriert: 17. Nov 2008 16:27

Re: GPU für Übung11

Beitrag von oliver_g »

Deine GPU scheint nicht für OpenCL geeignet zu sein. Generell ist das AMD APP SDK nicht in der Lage für GPUs von Nvidia oder Intel OpenCL Kernel zu kompilieren. Das Intel SDK wiederum unterstützt nur Prozessoren.

Für die Übung probier mal Folgendes: In der Datei openclhelperfunctions.cpp Zeile 45, ändere den Device-Typ auf CPU. Der Atom unterstützt SSE 2.

Code: Alles auswählen

if(clGetDeviceIDs(cpPlatforms, CL_DEVICE_TYPE_CPU, 16, 0, &clDeviceCount) != CL_SUCCESS) {
		std::cout << "ERROR: Failed to query number of OpenCL capable GPUs!" << std::endl;
		return false;
	}

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

Re: GPU für Übung11

Beitrag von SupeRalF »

Der Fehler bleibt!
Hast du vielleicht noch einen Lösungsvorschlag für mich? :wink:

fbussjor
Erstie
Erstie
Beiträge: 12
Registriert: 31. Aug 2011 23:07

Re: GPU für Übung11

Beitrag von fbussjor »

Ich hatte das gleiche Problem, bei mir gings durch auskommentieren von

Code: Alles auswählen

if(clGetDeviceIDs(cpPlatforms, CL_DEVICE_TYPE_GPU, 16, 0, &clDeviceCount) != CL_SUCCESS) {
		std::cout << "ERROR: Failed to query number of OpenCL capable GPUs!" << std::endl;
		return false;
	}
if(clDeviceCount == 0) {
		std::cout << "ERROR: No OpenCL capable GPUs found!" << std::endl;
		return false;
	}
und anschließend bei

Code: Alles auswählen

	cl_device_id * clDeviceIDs = new cl_device_id[clDeviceCount];
Die Größe des Arrays einfach auf 2 setzen.

downsampling
Mausschubser
Mausschubser
Beiträge: 95
Registriert: 28. Mär 2011 22:58

Re: GPU für Übung11

Beitrag von downsampling »

Afaik haben Intel IGPs(die ja nur knapp 60-70% des GPU Markts ausmachen) keinen Support für die OpenCL API.

http://en.wikipedia.org/wiki/Intel_GMA

Antworten

Zurück zu „Archiv“