Seite 1 von 1

5. Übung Praxis

Verfasst: 28. Jan 2009 14:03
von Siggi
Hallo, wir wollten uns grade zu dem GRIS Poolrechner verbinden. SSH konnte den Host aber nicht finden.

Re: 5. Übung Praxis

Verfasst: 28. Jan 2009 16:47
von ronny.klowsky
Hallo,

welchen Rechner hast du probiert? Derzeit sollten pcgris-l00{3,4,5}.gris.informatik.tu-darmstadt.de funktionieren, d.h. Login per

ssh team??@pcgris-l00{3,4,5}.gris.informatik.tu-darmstadt.de

sollte funktionieren.

Was mit den anderen beiden Rechnern los ist, versuchen wir gerade herauszufinden.

Viele Gruesse,
Ronny Klowsky

Re: 5. Übung Praxis

Verfasst: 28. Jan 2009 17:55
von citta
Hat sich erledigt. Das kleine L sah nur aus wie eine 1 :oops:

Re: 5. Übung Praxis

Verfasst: 1. Feb 2009 11:36
von Maradatscha
Ich probiere gerade ein paar performance Messungen aus.
Macht es überhaupt sinn sich den timer anzusehen?
Ich habe den Aufruf schon mal so geändert, weil ich in einem Beispiel gefunden habe, dass zunächst ein "warm up" durchgeführt werden sollte
edit: habe das ein bisschen angepasst, lasse jetzt 10000 mal den kernel laufen, da merkt man dann schon einen grossen Unterschied!

Code: Alles auswählen

	testKernel<<< grid, threads>>>( device_picData, device_resultPicData);
	CUDA_SAFE_CALL(cudaThreadSynchronize() );
        timer = 0;
        CUT_SAFE_CALL( cutCreateTimer( &timer));
	CUT_SAFE_CALL( cutStartTimer( timer));
	testKernel<<< grid, threads>>>( device_picData, device_resultPicData);
	// check if kernel execution generated and error
	CUT_CHECK_ERROR("Kernel execution failed");
	CUT_SAFE_CALL( cutStopTimer( timer));
edit: damit komme ich jetzt unbeschleunigt auf ca 11 s, beschleunigt auf 1.6 s, das sieht doch schon besser aus

Re: 5. Übung Praxis

Verfasst: 3. Feb 2009 17:14
von Krabbel
Hänge grade ein bisschen an der Praxis 1c).
Benutze ich die Threads dazu, um vom global in den shared-Speicher zu schreiben, oder lade ich am Anfang einen (bzw 3) komplette Blocks in das shared-memory und rechne dann mit den Threads darauf ?
Und wie kann ich sicherstellen, dass gültige Werte im shared-Memory stehen, wenn doch alle Threads parallel laufen.
Bin verwirrt. Hat jemand nen Tipp ?

Re: 5. Übung Praxis

Verfasst: 4. Feb 2009 16:42
von citta
Jeder Thread lädt sein Pixel (+ oberen und unteren Nachbarn) in den shared memory. Danach werden die Threads gesynct.

Ein paar zusätzliche Fragen zur Aufgabenstellung:
Gibt es eine Vorgabe, was wir mit den Pixeln an den Rändern machen müssen?
Können wir immer von Bildern in 512x512 ausgehen?

Re: 5. Übung Praxis

Verfasst: 4. Feb 2009 17:14
von Ronny
citta hat geschrieben:Gibt es eine Vorgabe, was wir mit den Pixeln an den Rändern machen müssen?
Können wir immer von Bildern in 512x512 ausgehen?
Es ist ihnen ueberlassen, wie sie den Rand behandeln. Sie koennen ihn zum Beispiel einfach auf Schwarz setzen.

Re: 5. Übung Praxis

Verfasst: 5. Feb 2009 12:20
von Krabbel
citta hat geschrieben:Jeder Thread lädt sein Pixel (+ oberen und unteren Nachbarn) in den shared memory. Danach werden die Threads gesynct.
Ahh, musste grad nochmal drüber nachdenken, aber nun hab ichs.
Laden->Sync->Berechnung.
Danke.

Re: 5. Übung Praxis

Verfasst: 9. Feb 2009 15:27
von Xaero
Ich wollte mal wissen welche Zeit bei euch rauskommt wenn ihr die c implementiert?
Also bei uns gibt es irgendwie noch keinen segnifikaten Unterschied.