Ergebnis 1 bis 5 von 5
  1. Avatar von Tikamthi
    Titel
    SG aktiv

    Bewertung

    Registriert am
    01.12.2010

    Ort
    Ulm

    Beiträge
    400

    Danke
    Danke gesagt 18   Danke erhalten 28

    #1

    Frage Vorteil von GPU-Anwendungen

    Servus Leute,

    da es nun auch für WCG die Ankündigung einer GPU Anwendung für die nähere Zukunft gibt, wollte ich mal fragen, worin der große Vorteil von GPU-Anwendungen besteht. Ich hab mich schon etwas schlau gelesen, aber manche Beiträge sind schon etwas älter und ich wollte mal den neuesten Stand hören. Hier mal ein paar Thesen:

    GPU-Anwendungen laufen in der Regel schneller als CPU-Anwendungen, aber sind sie wirklich effizienter? Auf den meisten neuen CPUs kann man 4 oder sogar mehr WUs gleichzeitig laufen lassen, auf Grakas nur eine und der Stromverbrauch ist üblicherweise höher bei der Graka als bei der CPU.

    CPUs sind flexibler als die GPU - oder was kann eine GPU was eine CPU nicht auch (evtl. langsamer) kann? Soweit ich das überblicke sind die GPUs bei "einfachen" Arbeitsaufgaben schneller und in der Gesamtbetrachtung auch effizienter als eine CPU (z.B. Faktorisieren von Primzahlen...). Allerdings kann ich mit einer CPU prinzipiell alles berechnen und bei komplizierteren Rechenoperationen (Klimamodelle, Molekülanalyse...) wird die Programmierung für die GPU kompliziert und die Flexibilität der CPU sorgt dafür, dass diese dort die Nase vorne hat.

    Hab ich das soweit richtig verstanden?

    Mir ist klar, dass es immer auch auf das jeweilige Projekt ankommt, aber ich wollte das mal klären, denn ab und an könnte man sich fragen, wozu man noch eine CPU im Rechner hat, wenn doch die GPUs so viel besser sein sollen und sich hier riesig über neue GPU-Anwendungen gefreut wird
    Grüße Tikamthi

  2. Die folgenden Benutzer haben sich bei Tikamthi bedankt für diesen nützlichen Beitrag:

    SETIBOOSTER (17.07.2011)


  3. Titel
    Full Member

    Bewertung

    Registriert am
    15.04.2011

    Beiträge
    134

    Danke
    Danke gesagt 0   Danke erhalten 1

    #2

    Standard

    hi

    ich drücke es mal so aus

    wie du schon richtig erkannt hast kann eine heutige cpu ca 8 threads gleichzeitig bearbeiten gpu´s nur einen.
    der große unterschied ist aber das bei einer cpu 4 kerne mit ht also 8 theoretische kerne arbeiten bei graka´s sieht das anders aus, ich nehme mal das beispiel einer gtx 460 von nvidia sind es 336 shadereinheiten die man als rechenkerne sehen kann.
    nur das problem bei den shadereinheiten es müssen immer die selben daten rein gehen damit etwas vernünftiges bei raus kommt.
    mal ein weit hergeholter gedanke:
    nenn die gtx 460 einen rennwagen und eine intel i7 2600k cpu als golf
    der rennwagen ist auf der geraden unschlag bar aber so wie es zu kurvigen strecken kommt sieht der golf dran vorbei, da die cpu flexibler berechnen kann das kann die gpu nicht.
    ich denke mal es kommt auch nicht besonders auf das projekt an, sonder wie die projektleiter die daten aufbereiten können damit die gpu was daraus machen kann.
    nehmen wir das beispiel seti dort gibt es eine gpu anwendung und natürlich die cpu anwendung. erstmal kann man "normal für die cpu anwendung die daten in die anwendung geben und die cpu kommt damit klar.
    bei der gpu müssen die programme per cuda oder per opencl eingegeben werden was den programmier aufwand deutlich erhöht. dabei hat nvidia den großen vorteil wegen cuda dort kann man vergleichsweise einfach die programme schreiben damit die gpu was damit anfangen kann bei ati ist es nur per opencl möglich da ist die programmieroberfläche noch komplizierter.

    ich hoffe ich konnte dir einigermaßen weiter helfen
    bei unklarheiten stehe ich natürlich zur verfügung

    mfg


  4. Titel
    Senior Member

    Bewertung

    Registriert am
    06.09.2009

    Ort
    Regensburg

    Beiträge
    419

    Danke
    Danke gesagt 102   Danke erhalten 4

    #3

    Standard

    Um das Beispiel dann auf die Projekte zu übernehmen:

    Bei Collatz wird ja die 3n+1-Vermutung überprüft. Jede WU enthält mehrere 100.000 solcher Zahlen, die alle durchgerechnet werden. Auf einer GPU jede auf einem Shader, also bei einer GTX460 immer 336 gleichzeitig.
    Bei anderen Projekten, zB ein beliebiges Proteinprojekt kann der nächste Rechenschritt erst ausgeführt werden, wenn das Ergebnis des vorherigen bekannt ist. Also würde man hier auch 336 Proteine gleichzeitig falten/untersuchen können, macht aber keinen Sinn, da GPUs bisher "nur" bei Integer-Rechnungen (also Ganzzahlrechnungen) überlegen sind.

    Man möge mich verbessern, falls etwas nicht stimmt.

  5. Avatar von Tikamthi
    Titel
    SG aktiv

    Bewertung

    Registriert am
    01.12.2010

    Ort
    Ulm

    Beiträge
    400

    Danke
    Danke gesagt 18   Danke erhalten 28

    #4

    Standard

    Danke schon einmal für eure Antworten. Ich habe jetzt ein besseres Bild davon wie das ganze auf der Hardwareseite funktioniert.

    Allerdings bleibt ja die Frage, ob GPU-Berechnungen auch effizienter sind als per CPU? Wenn ich also eine bestimmte Strommenge/Energie zur Verfügung habe ist es dann sinnvoller per GPU oder per CPU Berechnungen vorzunehmen? Oder bekommt man hier für mehr Leistung auch einen höheren Verbrauch aufs Auge gedrückt? Was zu dem Autobeispiel: Rennwagen vs. Golf passen würde.
    Gesucht ist also das optimale Verhältnis aus Projektfortschritt/Strommenge.
    Grüße Tikamthi

  6. Avatar von [ETA]MrSpadge
    Titel
    ist hier zu Hause

    Bewertung

    Registriert am
    22.07.2007

    Ort
    Aachen

    Beiträge
    3.198

    Danke
    Danke gesagt 14   Danke erhalten 75

    #5

    Standard

    Wenn jemand eine GPU-Anwendung veröffentlicht, dann ist diese i.d.R. auch so viel schneller als die CPU, dass man damit unter'm Strich auch effizienter wird. Das muss aber nicht so sein.

    Wie oben schon angesprochen, etwas detaillierter: bei nVidia werden seit dem G80 die Daten in einer "Wavefront" zu je 32 Stück zusammengefasst, klassisch jeweils eine ganze Zahl mit bis zu 32 Bit oder ein 32 Bit Fließkommawert (das können die GPUs auch sehr gut!). Auf diese Daten muss jeweils der gleiche Befehl angewendet werden (Parallelisierungskonzept SIMD - single instruction, multiple data). In einem Takt werden dann alle 32 Daten (*) in die Rechenwerke geschickt und die Verarbeitung beginnt. Im nächsten Takt werden weitere 32 Daten nachgeschoben. Nach einigen (eher vielen) Takten ist die Berechnung fertig und die Ergebnisse stehen fest. Quasi wie ein Fließband (Pipeline). Eine solche Einheit nennt nVidia "Multiprozessor" (**). Eine GPU hat typischerweise einen ganzen Sack davon.
    Kann man diese Art der Datenverarbeitung mit seinem Algorithmus in Einklang bringen, erhält man einen massiv parallel arbeitenden Prozessor, der einen sehr hohen Datendurchsatz pro Takt schaffen kann. Was die GPU gar nicht mag ist Code wie "wenn a<b, dann x, sonst y", da man hier Probleme bekommt, alle 32 reingesteckten Daten auch für weitere Operationen gleich zu behandeln. Für solche Fälle ist die CPU ausgelegt. Für massiv-parallele Aufgaben ist sie dagegen "ganz nett", aber viel mehr auch nicht. Selbst bei einem Vierkerner reden wir mit SSE2 von vielleicht 16 Operationen auf 32 Bit Daten pro Takt. Bei der GPU sind es dagegen Hunderte. Und wenn sie dann selbst nen Faktor 2 mehr Leistung benötigt, ist dies immernoch wesentlich effizienter als mit der CPU - vorrausgesetzt der Algorithmus passt.

    MrS

    (*) Genau genommen 2 mal 16 in 2 Takten hintereinander - aber egal an dieser Stelle.
    (**) Stimmt auch wieder nicht ganz.. ich lass es aber erstmal so stehen.
    ExtraTerrestrial Apes - Scanning for our furry friends since Jan 2002

Ähnliche Themen

  1. Optimierte Anwendungen
    Von Meisterdark im Forum Wiki
    Antworten: 13
    Letzter Beitrag: 25.07.2015, 21:51
  2. WCG plant 64-bit Anwendungen
    Von taurec im Forum World Community Grid
    Antworten: 6
    Letzter Beitrag: 06.04.2011, 13:24
  3. Optimierte Anwendungen
    Von Grubix im Forum PrimeGrid
    Antworten: 15
    Letzter Beitrag: 09.02.2011, 11:51
  4. Probleme bei mehrfachen Anwendungen
    Von TomStiansen im Forum Software - Installation, Probleme usw.
    Antworten: 3
    Letzter Beitrag: 20.03.2009, 10:48
  5. Projektliste / Anwendungen
    Von Xydrol im Forum Das Hauptforum
    Antworten: 4
    Letzter Beitrag: 21.09.2007, 01:29

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Single Sign On provided by vBSSO