CPU und GPU bündeln
Hallo, weiß er wie man dei CPU und Die GPU zusammen arbeiten lassen kann? Ich hab mal einen Bericht drüber gelesen, aber da stand nicht drin wie.
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Wer Rechtschreibfehler findet darf sie behalten.
Nvidia bzw. CUDA:
http://mathema.tician.de/software/pycuda
http://pypi.python.org/pypi?%3Aaction=s ... mit=search
http://mathema.tician.de/software/pycuda
http://pypi.python.org/pypi?%3Aaction=s ... mit=search
the more they change the more they stay the same
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Daneben gibt es noch OpenCL.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Sorry, ich hab da noch vergessen:
1. Ich hab ne Intel GPU
und
2. Will ich nicht nur mit Python-Skripten sondern mit dem Ganzen System darauf zugreifen.
1. Ich hab ne Intel GPU
und
2. Will ich nicht nur mit Python-Skripten sondern mit dem Ganzen System darauf zugreifen.
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Wer Rechtschreibfehler findet darf sie behalten.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Nein, es gibt keinen Schalter den man umlegen kann und ploetzlich wird der Rechner schneller.
Intel GPUs sind IIRC OpenCL tauglich.
Intel GPUs sind IIRC OpenCL tauglich.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Und was darf man sich darunter jetzt vorstellen?!Py-Prog hat geschrieben:2. Will ich nicht nur mit Python-Skripten sondern mit dem Ganzen System darauf zugreifen.
@lunar Du darfst dir das so vorstellen das z. B. Der Viren-Scanner nicht stunden brauchen soll um die Festplatte zu scannen, Und wenn ich mit Super 2010 Videos konvertiere soll das auch schneller gehen. Die neuen Browser nehmen ja auch die GPU um Text schneller anzuzeigen. Kurz ich will mehr Geschwindigkeit, aber keinen neuen Rechner! (2,66 GHz sollten normal noch reichen)
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Wer Rechtschreibfehler findet darf sie behalten.
Wenn das Design einer GPU sinnvoller wäre als dass einer CPU gebe es dar keinen Unterschied. Du wirst da bei weitem nicht für alles einen Geschwindigkeitsvorteil bekommen können, wahrscheinlich dürfte eher das Gegenteil der Fall sein.
Abgesehen davon lassen sich Prozessoren austauschen, sogar ohne Säge und Klebstoff.
Abgesehen davon lassen sich Prozessoren austauschen, sogar ohne Säge und Klebstoff.
@Py-Prog: So funktioniert das nicht. Man kann nicht einfach irgendwie auf die Grafikkarte „zugreifen“, so dass alles auf magische Weise schneller wird.
Um von Grafikkarten zu profitieren, muss man entweder spezielle Bibliotheken wie OpenGL nutzen oder spezielle Sprachen wie OpenCL oder CUDA. Bibliotheken wie OpenGL erfüllen nur spezielle Aufgaben, v.a. eben Zeichenoperationen. Davon kann ein Browser Gebrauch machen, aber bei einem Virenscanner ist beschleunigte Grafikausgabe reichlich nutzlos. Spezielle Sprachen bzw. Laufzeitumgebungen können zwar in der Theorie beliebige Aufgaben an die GPU übergeben. Praktisch müssen Anwendungen aber speziell für solche Umgebung geschrieben werden und unterliegen allerlei technischen Einschränkungen, die ein GPU nun mal mit sich bringt. GPUs haben verhältnismäßig wenig Speicher, wenig oder gar keinen Aufrufstack, und relativ langsame, aber dafür sehr viele Einzelkerne, und keinen direkten Zugriff auf andere Hardware bzw. Systemfunktionen (e.g. Festplatten oder Dateisysteme). Die Programme müssen also wenig Speicherbedarf haben, dürfen kaum oder gar keine Rekursion verwenden, müssen stark parallelisierbar sein, und dürfen kaum oder gar keinen Gebrauch von Systemfunktionen machen (e.g. Zugriff auf das Dateisystem, usw.). Das trifft auf Virenscanner nicht wirklich zu.
Im Allgemeinen ist GPU-Programmierung nichts, wovon Endbenutzer direkt profitieren oder Gebrauch machen könnten. Das richtet sich an spezielle Anwendungen, v.a. Grafikberechnungen und Simulationsprogramme. Bis auf Computerspiele und Videokodierung hat ein normaler Benutzer mit nichts Berührung, wo GPU-Programmierung sinnvoll wäre.
Kurz: Vergiss es, Du hast nicht wirklich verstanden, was GPUs sind, wie sie sich von einer CPU unterscheiden, und wie Dein System auf Hardware-Ebene im Allgemeinen funktioniert. Wenn Dir Dein Rechner zu langsam ist, kauf Dir einen neuen.
Um von Grafikkarten zu profitieren, muss man entweder spezielle Bibliotheken wie OpenGL nutzen oder spezielle Sprachen wie OpenCL oder CUDA. Bibliotheken wie OpenGL erfüllen nur spezielle Aufgaben, v.a. eben Zeichenoperationen. Davon kann ein Browser Gebrauch machen, aber bei einem Virenscanner ist beschleunigte Grafikausgabe reichlich nutzlos. Spezielle Sprachen bzw. Laufzeitumgebungen können zwar in der Theorie beliebige Aufgaben an die GPU übergeben. Praktisch müssen Anwendungen aber speziell für solche Umgebung geschrieben werden und unterliegen allerlei technischen Einschränkungen, die ein GPU nun mal mit sich bringt. GPUs haben verhältnismäßig wenig Speicher, wenig oder gar keinen Aufrufstack, und relativ langsame, aber dafür sehr viele Einzelkerne, und keinen direkten Zugriff auf andere Hardware bzw. Systemfunktionen (e.g. Festplatten oder Dateisysteme). Die Programme müssen also wenig Speicherbedarf haben, dürfen kaum oder gar keine Rekursion verwenden, müssen stark parallelisierbar sein, und dürfen kaum oder gar keinen Gebrauch von Systemfunktionen machen (e.g. Zugriff auf das Dateisystem, usw.). Das trifft auf Virenscanner nicht wirklich zu.
Im Allgemeinen ist GPU-Programmierung nichts, wovon Endbenutzer direkt profitieren oder Gebrauch machen könnten. Das richtet sich an spezielle Anwendungen, v.a. Grafikberechnungen und Simulationsprogramme. Bis auf Computerspiele und Videokodierung hat ein normaler Benutzer mit nichts Berührung, wo GPU-Programmierung sinnvoll wäre.
Kurz: Vergiss es, Du hast nicht wirklich verstanden, was GPUs sind, wie sie sich von einer CPU unterscheiden, und wie Dein System auf Hardware-Ebene im Allgemeinen funktioniert. Wenn Dir Dein Rechner zu langsam ist, kauf Dir einen neuen.
Und zum Thema Virenscanner: Der dürfte wahrscheinlich gar nicht so sehr von der Rechenleistung abhängen, sondern eher vom Datendurchsatz von der Festplatte.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Und ich glaube auch nicht dass die GPU-Zugriff auf DMA hat.BlackJack hat geschrieben:Und zum Thema Virenscanner: Der dürfte wahrscheinlich gar nicht so sehr von der Rechenleistung abhängen, sondern eher vom Datendurchsatz von der Festplatte.
Andererseits, es ist schon zu vermuten dass Symantec Anitvirus im Hintergrund Primzahlen oder sowas berechnet, so träge wie der immer war

My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
@Leonidas: Die GPU hat Zugriff auf den Hauptspeicher und kommt somit prinzipiell schon an die Geräte. Allerdings muss der Zugriff auf den globalen Speicher explizit erfolgen, und ist sehr langsam, weil GPUs (mit Ausnahme neuer Fermi-Karten) keinen Cache besitzen. Außerdem kann direkt aus der GPU heraus kein Code auf der CPU ausgeführt werden. Dementsprechend kann man aus der GPU heraus keine Funktionen aus Bibliotheken und keine Systemaufrufe ausführen.
Achso, wenn Ubuntu nach einem Absturz so lange braucht, um das Dateisystem zu prüfen, kann man also das Zeichnen der nächsten Prozentzahl nicht durch eine schnellere Grafikkarte beschleunigen? Hm, schade. 
