Online-Abo
  • Login
  • Registrieren
Games World
      • Von TheLukay Komplett-PC-Aufrüster(in)
        Ich glaube, wenn DDR4 preislich auf DDR3 Niveau kommt, wird es Zeit für APU-Sockel mit DDR4.
      • Von TroaX
        Zitat von PCGH_Torsten
        Viele Schleifen beginnen nicht mit "tue 100 mal X", sondern mit "tue X bis A". Bedingung A mag dann nach 100 Durchläufen erfüllt sein, aber insbesondere in einem Spiel ist das nur schwer vorhersehbar. Sind nur 10 Einheiten aktiv, ist die gleiche Schleife schon nach 10 Durchläufen erledigt. Die große Kunst der Multi-Thread-Optimierung besteht darin, für derartige Vorhersagen weniger Zeit und Energie zu benötigen, als durch die paralelle Verarbeitung eingespart wird.
        Genau da liegt an der Sache nämlich das Hauptproblem. Wenn müsste das ganze schon im Compiler selektiert und markiert werden, was am Ende durch die GPU-Einheiten gejagt werden kann und was nicht. Schleifen haben auch nicht immer den selben Aufbau. Zum Beispiel (wie schon beschrieben) würde "tue X mit Y bis A" da schon wieder zu einem Problem führen. Die gesamte Schleife kann in diesem Falle garnicht in einzelne Operationen unterteilt werden. Und in Spielen würde es eh nur Sinn machen, wenn eine weitere diskrete GPU am Board wäre. So könnten die GPU-Einheiten der APU dann zum Beispiel Positionen etc. berechnen, während die GPU das macht, wozu sie da ist. Wenn AMD HSA tatsächlich so hinbekommen würde, dann kann das schon einen ordentlichen Boost bringen. Allerdings ist eben die Selektierung, was machbar ist und was nicht die Schwierigkeit. Denn wenn sie Pech haben, sind sie wieder auf eine Implementierung seitens der Entwickler angewiesen.
      • Von PCGH_Torsten Redakteur
        Zitat von JackA$$
        (sollte eigentlich nicht die APU von der PS4 nicht auch ähnlich für den PC erscheinen, der 7850k wird ja nicht an PS4 Niveau kommen?)

        Es gab den Wunsch zahlreicher Anweder für eine Desktop-Variante, aber keine bestätigten Pläne AMDs. Aufgrund der anderen Schnittstellen passt die PS4-APU in keine bestehende Desktopplattform. Für PS4-Leistung ist GDDR5-Speicher nötig, den es nicht als Modul gibt. AMD könnte die komplette PS4-Platine mit PC-typischen Steckkontakten und einem Windows-kompatiblen UEFI anbieten. Aber würde das wirklich jemand kaufen? Die PS4 selbst ist, ohne Windows-Overhead, deutlich schneller. Herkömmliche PCs sind flexibler und aufrüstbar. Mit entsprechend dimensionierter Hardware ebenfalls schneller.

        Zitat von eiven
        Angenommen in Thread 1 steht eine Schleife mit 100 Durchläufen an. HSA würde erkennen ich kann die Durchläufe parallel ausführen.
        Viele Schleifen beginnen nicht mit "tue 100 mal X", sondern mit "tue X bis A". Bedingung A mag dann nach 100 Durchläufen erfüllt sein, aber insbesondere in einem Spiel ist das nur schwer vorhersehbar. Sind nur 10 Einheiten aktiv, ist die gleiche Schleife schon nach 10 Durchläufen erledigt. Die große Kunst der Multi-Thread-Optimierung besteht darin, für derartige Vorhersagen weniger Zeit und Energie zu benötigen, als durch die paralelle Verarbeitung eingespart wird.
      • Von TroaX
        Zitat von eiven
        Nein das hat nicht direkt was mit Threading zu tun. Ich habe ja auch 100 Einheiten die jeweils 1hp dazu bekommen, da ist keine Abhängigkeit zwischen den Einheiten.
        Angenommen in Thread 1 steht eine Schleife mit 100 Durchläufen an. HSA würde erkennen ich kann die Durchläufe parallel ausführen. Erst wenn alle einzelnen Berechnung fertig sind geht es im Thread 1 weiter. Ist eigentlich als würde ich 100 Threads Software-Seitig erstellen und erst weiter fortfahren wenn alle Threads beendet sind.
        Was willst du denn genau machen? 100 Einheiten + 1 Rechnen oder einer Einheit 100 mal + 1 Rechnen. Das ist schon ein unterschied. Das erste wäre das Sandwichbeispiel. Du willst mit 100 unterschiedlichen Parametern mit gleichem oder unterschiedlichem Wert das selbe machen. Der Wert jedes einzelnen Parameters ist für die Recheneinheit (<- Ich nenne es mal so, da du den Begriff Thread nicht mags, obwohl es der Logik entsprechend einer ist) der Ausgangspunkt, auf denen die Operationen durchgeführt werden. Das funktioniert aber nur, wenn eben jeder Parameter vom Grund auf unabhängig von einander ist und diese Vorgänge safe sind und nicht im nachhinnein während der Berechnung Änderungen der Operanten erwarten. Letzteres wäre, im Falle einer Aufteilung innerhalb der Schleife, abhängig. Der Parameter hätte immer den selben Wert und wenn genau das gleiche passiert, kommt auch genau das gleiche hinten raus.

        Das bedeutet also, das eine Anwendung, bevor sie ausgeführt wird, ersteinmal darauf geprüft werden muss, welche Vorgänge nun eine eigene Einheit verwenden können:
        1. Sie müssen unabhängig sein
        2. Sie dürfen während der Laufzeit keinen Änderungen unterliegen
        3. Die Subthreads (<- So nenne ich sie mal) müssen identifizierbar sein, wodurch Punkt 2 nicht mehr so ins Gewicht fallen würde, wobei aber Abstürze oder Fehlberechnungen dadurch an Bedeutung gewinnen
        4. Muss natürlich der Sinn für eine Berechnung durch eine GPU-Einheit gesucht werden

        Nur gerade bei Spielen: Wo gibt es wirklich Unabhängigkeiten? Vielleicht bei den Positionsberechnungen von Objekten, die nicht mit der Handlung interagieren oder gescriptet sind. Und vor allem, wenn man die GPU für diese Fälle zum rechnen nutzt, was berechnet dann die Grafik?

        Wenn man nach den Kriterien seine Software selber schreibt und die Berechnungen per OpenCL oder CUDA an die GFX weiterträgt, ist das schon eine mords Arbeit. Wie soll das dann aber die APU selbst bewerkstelligen und vor allem entscheiden?
      • Von eiven Kabelverknoter(in)
        Zitat von TroaX
        Die PS4 Apu ist ein alter Jaguar. Soweit ich weiß müsste der Kaveri schneller sein.

        Und genau da ist der Fehler.
        Schleife 100x Lebenspunkte +1 bei Ausgangswert 0 = 100 Lebenspunkte
        100x Lebenspunkte + 1 bei Ausgangswert 0 ohne Schleife = 100 x 1 Lebenspunkt
        Das sind, wenn man sie zusammenführt zwar auch 100 Lebenspunkte. Aber was passiert, wenn du beim hochzählen angegriffen wirst?

        Du musst diese parallelen Aufgaben als Subthreads sehen. Du hast eine Variable "lebenspunkte = 0". Bei jedem Schleifendurchlauf wird dieser um 1 erhöht, bis er 100 hat. Brichst du dies aber auf und verteilst diesen Vorgang auf 100 verschiedene Recheneinheiten, arbeitet jede einzelne mit dem Basiswert 0. Jede Recheneinheit rechnet aber nur einen einzigen dazu. Also kommt bei jeder Einheit das Ergebnis 1 raus. Und nun? Willste die Ergebnisse mit einer Schleife einfangen und dann noch einmal drauf addieren?

        Genauso ist es mit der Änderung einer Variable zur Laufzeit. Du wist angegriffen und verlierst Lebenspunkte. Das geht, indem du eine entsprechende Abfrage in die Schleife setzt oder Threadunsafe programmierst. Welche der 100 Recheneinheiten kann sich dann auf die neue Situation anpassen?
        Nein das hat nicht direkt was mit Threading zu tun. Ich habe ja auch 100 Einheiten die jeweils 1hp dazu bekommen, da ist keine Abhängigkeit zwischen den Einheiten.
        Angenommen in Thread 1 steht eine Schleife mit 100 Durchläufen an. HSA würde erkennen ich kann die Durchläufe parallel ausführen. Erst wenn alle einzelnen Berechnung fertig sind geht es im Thread 1 weiter. Ist eigentlich als würde ich 100 Threads Software-Seitig erstellen und erst weiter fortfahren wenn alle Threads beendet sind.
  • Print / Abo
    Apps
    PC Games Hardware 01/2017 PC Games 12/2016 PC Games MMore 01/2016 play³ 01/2017 Games Aktuell 12/2016 buffed 12/2016 XBG Games 11/2016
    PCGH Magazin 01/2017 PC Games 12/2016 PC Games MMORE Computec Kiosk On the Run! Birdies Run
video
1137223
CPU
AMD erklärt den Vorteil von APUs: Mehr Sandwiches in kürzerer Zeit!
Über seinen Youtube-Kanal hat AMD ein Video veröffentlicht, welches erneut die Vorteile einer Accelerated Processing Unit, kurz APU, veranschaulichen soll. Demnach kann eine CPU nur ein virtuelles Sandwich nach dem nächsten berechnen, die GPU hingegen viele gleichzeitig. Eine APU nutzt jeweils den sinnvollsten Part und kann per HSA nochmals beschleunigt werden. Das Resultat: Mehr Sandwiches in kürzerer Zeit!
http://www.pcgameshardware.de/CPU-Hardware-154106/Videos/AMD-Vorteil-von-APUs-gegenueber-CPUS-Video-1137223/
25.09.2014
http://www.pcgameshardware.de/screenshots/medium/2014/09/AC692665-D07B-5053-9D7A1612CB6D1026_b2teaser_169.jpg
amd,apu,gpu,cpu
videos
http://vcdn.computec.de/ct/2014/9/59855_sd.mp4