Startseite

[HWE-News] [HWE-FAQ] [Tests] [Artikel] [Softwareecke] [RC5-Proxy] [Overclocking] [TreiberEcke] [HWE-FanShop] [Links]

Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
25. April 2018, 16:13:29 Uhr

Einloggen mit Benutzername, Passwort und Sitzungslänge
Suche:     Erweiterte Suche
223451 Beiträge in 24094 Themen von 18370 Mitglieder, Neuestes Mitglied: Daten Wiederaufnahme Soft

RC5-Teamstats: Gestern: 0 WUs, . Platz,
Gesamt: 0 WUs, . Platz ( Members)

Übersicht Hilfe Suche Kalender Einloggen Registrieren
HWE-Forum.de  |  Allgemein  |  RC5-72 Projekt (Moderatoren: TMK, tyco, gandal)  |  Thema: CUDA/STREAM FAQ
0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Nach unten Antwort Drucken
Autor Thema: CUDA/STREAM FAQ  (Gelesen 5384 mal)
lutzlustig
RC5 [HWE]-Team
*****

Ranking: 8
Offline Offline

Geschlecht: Männlich
Beiträge: 474


« am: 05. November 2009, 11:09:37 Uhr »
Zitat

F: Was ist CUDA, Stream und OpenCL?
A: Programmierplattform u.a. für GPU (Grafikprozessor), wobei CUDA von NVIDIA, Stream von AMD(ATI) kommt und OpenCL plattformübergeifend ist.

F: Brauche ich spezielle Software für den Betrieb des Clienten mit einer Grafikkarte?
A: Ja, den Grafikkartentreiber vom jeweiligen Hersteller der Grafikkarte und den pasenden Dnetc-Clienten, momentan nur als Beta hier erhältlich: http://www.distributed.net/download/prerelease.php

F: Auf welchen BS laufen die GPU-Clienten?
A: Meistens zuerst auf Linux, fast immer auf Windows und ab und an bei Max OSX, ist ja alles noch Beta

F: Ist der Betrieb von mehreren Clienten möglich?
A: Ja! :) Dazu ist es erforderlich, einen CPU-Kern möglichst exklusiv an den GPU-Clienten zu binden, nur so entfaltet er seine volle Leistung.

F: Wie genau geht das?
A: Siehe folgende Beispiele:

1. Beispiel Steuerung mit launch.exe

Den Cuda-Clienten an einen Kern binden und den CPU-Clienten an die restlichen 1-3 Kerne.
ftp://ftp.heise.de/pub/ct/ctsi/launch16.zip
Mit launch.exe kann man ein Programm starten und es an bestimmte CPU-Kerne binden.

Z.B. so:
d:\programme\rc5-cpu
d:\programme\rc5-cuda
d:\programme\rc5-stream
d:\programme\rc5-lotto
da immer die launch.exe rein kopieren und jeweils eine Batchdatei erstellen mit folgendem Inhalt:


cd D:\programme\rc5-cpu
Launch.exe dnetc.exe /p="-multiok=1" /a=7

cd D:\programme\rc5-cuda
Launch.exe dnetc.exe /p="-multiok=1" /a=8


D.H. der Cuda-Client bekommt CPU-Kern 4 und der CPU-Client CPU-Kern 1-3, siehe folgende Tabelle
"-multiok=1"ist der Parameter für dnetc, der besagt das mehrere Clienten gleicheitig laufen können.


launch.exe dnetc-cuda.exe /a=8
startet den client nur auf Proz 4, wobei gilt:
1: Prozessor 1       0001
2: Prozessor 2       0010
3: Prozessor 1+2     0011
4: Prozessor 3       0100
5: Prozessor 1+3     0101
6: Prozessor 2+3     0110
7: Prozessor 1+2+3   0111
8: Prozessor 4       1000
9: Prozessor 1+4     1001
10:Prozessor 2+4     1010
11:Prozessor 1+2+4   1011
12:Prozessor 3+4     1100
13:Prozessor 1+3+4   1101
14:Prozessor 2+3+4   1110
15:Prozessor 1+2+3+4 1111

Achtung: Bei Umbenennen der dnetc.exe muß die .ini auch umbenannt werden! Also z.B. dnetc-cuda.ini :)
Die beiden Batchdateien in den Autostartordner und fertig.

Man kann auch launch.exe in den Systemordner kopieren, dann muß man aber die Pfade zu den Clienten angeben, bleibt also gehuppt wie gesprungen. ;-)

Beispiel 2:

Z.B. ein 'process -a explorer.exe 10' im HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run Key, das das beim Hochfahren erledigt; der Explorer vererbt die Affinität dann an alles, was von da gestartet wird.
Also bei Dualcore eine 10, bei Triplecore eine 110, bei Quadcore eine 1110, wobei dann alles Programme/Prozesse, die dann gestartet werden, CPU ab Nr. 2 benutzen und die 1. bleibt für den GPU-Clienten.

"process.exe" bekommt man hier:

http://www.beyondlogic.org/consulting/processutil/processutil.htm


Hier noch eine kleine Erläuterung für die Aufteilung der Kerne bei process.exe:

01>>>1. Kern
11>>>1.+2. Kern
111>>1.+2.+3. Kern
1111>1.+2.+3.+4. Kern

10>>>2. Kern
110>>2.+3. Kern
1110>2.+3.+4. Kern

100>>3. Kern
1100>3.+4. Kern

1000>4. Kern

Oder alternativ für Mausschubser: CPU-Control
http://ge.koma-code.de/index.php?option=com_content&task=view&id=79&Itemid=94

Beispiel 3 für Linux:
Der Befehl "taskset" unter Linux macht die Zuordnung von Processen zu beliebigen CPUs möglich.



Wer noch Vorschläge hat für die FAQ, immer her damit! :)


Legende: ;-)
F: = Frage
A: = Antwort
« Letzte Änderung: 06. November 2009, 14:33:13 Uhr von lutzlustig » Gespeichert


http://strammermax.meinbrutalo.de
http://www.lordofultima.com/ref/2278509259
LiLaLux
Bananenbieger
**

Ranking: 1
Offline Offline

Geschlecht: Männlich
Beiträge: 52


« Antwort #1 am: 05. November 2009, 12:14:51 Uhr »
Zitat

Ja, einmal das neueste Launch nehmen
ftp://ftp.heise.de/pub/ct/ctsi/launch16.zip
die readme ist diesmal richtig gut und launch bietet noch mehr Möglichkeiten, die hier zu erläutern den Rahmen sprengen würde.

Das zweite wäre, die Installation der launch.exe.
Etwas unsauber diese mehrmals in jedes Verzeichnis reinzukopieren. ;)

Besser gefällt mir (auch unsauber) launch ins Systemverzeichnis (%SystemRoot%\System32) zu packen,
oder gleich ins eigene Verzeichnis und unter Systemeigenschaften -> Umgebungsvariablen -> Systemvariablen den Pfad zum launch.exe-Verzeichnis zusätzlich einzutragen (Vorsicht, restliche Pfade nicht ändern).

Ansonsten sehr schön, daß du das einmal zusammengetragen hast.
Bitte das ganze auch ins IQ-Hardware-Forum und von Framige festpinnen lassen.
Gespeichert
__

Man muß die Tatsachen kennen, bevor man sie verdrehen kann.
Mark Twain
lutzlustig
RC5 [HWE]-Team
*****

Ranking: 8
Offline Offline

Geschlecht: Männlich
Beiträge: 474


« Antwort #2 am: 05. November 2009, 13:03:08 Uhr »
Zitat

Im Programmverzeichnis ist es dann zwar mehrfach, aber man hat keine Probleme mit Pfaden oder bei BS-neuinstallation oder Multi-Boot-Systemen. Der Trend geht stark zu portablen Programmen, so ganz ohne installieren Programme einfach benutzen, das hat schon was. :)
Man kann da auch auf die Spitze treiben und alles in ein Verzeichnis rein, die jeweiligen .exe passend benennen und die .ini auch. :)
Gespeichert


http://strammermax.meinbrutalo.de
http://www.lordofultima.com/ref/2278509259
LiLaLux
Bananenbieger
**

Ranking: 1
Offline Offline

Geschlecht: Männlich
Beiträge: 52


« Antwort #3 am: 05. November 2009, 14:55:11 Uhr »
Zitat

ROFL
Darf ich dann ins Verzeichnis auch noch mit meinem Quirl rein? ;D

BTW das mit der exe des clients umbenennen hat auch noch den anderen Vorteil, daß man die clients auch im taskmanager unterscheiden kann.

Danke für die schöne Übersicht auch in IQ-Hardware, da sollten keine großen Fragen mehr kommen.
Außer vielleicht über die dnetc.ini (preferred-blocksize, max-threads). Pardon, fiel mir eben erst ein.

Kannst ja bis zur Final CUDA/Stream FAQ bis zum WochenEnde erst mal sammeln.
Denke daß tyco, geschissenberger und andere auch noch den ein oder anderen guten Tip auf Lager haben.
« Letzte Änderung: 05. November 2009, 14:57:17 Uhr von LiLaLux » Gespeichert
__

Man muß die Tatsachen kennen, bevor man sie verdrehen kann.
Mark Twain
lutzlustig
RC5 [HWE]-Team
*****

Ranking: 8
Offline Offline

Geschlecht: Männlich
Beiträge: 474


« Antwort #4 am: 05. November 2009, 15:49:49 Uhr »
Zitat

ROFL
Darf ich dann ins Verzeichnis auch noch mit meinem Quirl rein? ;D
Nix da, lass den Quirl da, wo er ist!  ;D
Gespeichert


http://strammermax.meinbrutalo.de
http://www.lordofultima.com/ref/2278509259
tyco
Admin
******

Ranking: 713
Offline Offline

Geschlecht: Männlich
Beiträge: 20344


HWE rocks!

« Antwort #5 am: 05. November 2009, 17:35:13 Uhr »
Zitat

Super Anleitung!

Allerdings startet die launch.exe nicht mit deiner obigen Batch-Datei:

Zitat
cd D:\programme\rc5-cpu
Launch16.exe dnetc.exe /p="-multiok=1" /a=7

Grund: Eine Launch16.exe gibt es nicht, sondern nur eine Launch.exe. Also entweder Launch.exe in Launch16.exe umbenennen oder einfacher...gleich den richtigen Namen in die bat-Datei schreiben. Die bat-Datei sieht dann so aus:

cd D:\programme\rc5-cpu
Launch.exe dnetc.exe /p="-multiok=1" /a=7
« Letzte Änderung: 05. November 2009, 17:43:01 Uhr von tyco » Gespeichert
Bitte keine Supportanfragen per PM stellen.
lutzlustig
RC5 [HWE]-Team
*****

Ranking: 8
Offline Offline

Geschlecht: Männlich
Beiträge: 474


« Antwort #6 am: 06. November 2009, 14:27:42 Uhr »
Zitat

so ne Sauerei, bei launch12 hieß das noch launch12.exe :)
Gespeichert


http://strammermax.meinbrutalo.de
http://www.lordofultima.com/ref/2278509259
Seiten: [1] Nach oben Antwort Drucken 
HWE-Forum.de  |  Allgemein  |  RC5-72 Projekt (Moderatoren: TMK, tyco, gandal)  |  Thema: CUDA/STREAM FAQ « vorheriges nächstes »
 

+ Schnellantwort
Bei der Schnellantwort können Sie Bulletin Board Code und Smileys wie im normalen Beitrag benutzen. Achtung: Dieser Beitrag wird erst angezeigt, wenn er von einem Moderator genehmigt wurde.
Name: E-Mail:
Verifizierung:
Wie heißt die Hauptstadt von Belgien?:


Impressum | SMF 2.0.15 | SMF © 2011, Simple Machines
Seite erstellt in 0.057 Sekunden mit 21 Abfragen.