Likes Likes:  0
Seite 1 von 2 12
  1. #1

    Extreme-Test [PCGH Extreme] Interview with id:"What do you think about AMDs triple core approach?"

    We had the opportunity to talk with Jan Paul van Waveren, programmer at id Software, about AMDs triple core approach.

    PCGH: Is there enough space between Dual and Quadcore CPUs to optimize for? I.E. is it feasible to optimize for two cores, three cores etc. or rather optimize for many cores, regardless of the exact number?

    Jan Paul van Waveren: So far most game engines have exploited task parallelism to take advantage of multiple cores. Separate tasks are identified and executed on different cores. Typically the game engine is considered a pipeline and this pipeline is broken up into multiple steps/tasks, where each step runs on a different core. For example QUAKE 4 breaks the pipeline into two steps:

    1. game code + renderer front end
    2. renderer back end

    Going to three cores you can split the pipeline further:

    1. game code
    2. renderer front end
    3. renderer back end

    Going to even more cores the pipeline can be broken up further, or other parts of the code can be split off and run in parallel:

    1. AI code
    2. effect physics
    3. game code
    4. texture streaming & de-re-compression
    5. sound engine
    6. renderer

    The above is close to what the Enemy Territory: QUAKE Wars game engine does. Having 6 separate tasks, or steps in your pipeline, does not necessarily mean the engine scales all the way up to a system with 6 cores. Some tasks may take more time to complete than others, and multiple tasks and their associated threads may run on a single core. Exploiting task parallelism can be very effective. However, it is not always easy to identify different tasks that take up similar amounts of time such that all cores are tasked equally. Furthermore, it typically requires a lot of programmer time to cleanly separate the task such that they can run in parallel.

    PCGH: What kind of differentiation can you imagine for gaming workloads to be distributed between three cores?

    Jan Paul van Waveren: To scale well on systems with an arbitrary number of cores it is more effective to exploit data parallelism. In this case each core performs the same task but on different pieces of distributed data. For instance, instead of running the AI in a separate thread, each AI character can run in a separate thread. Each thread performs the same task, in that it advances the state of one AI, but each thread works on a different AI character. Another example would be texture decompression, where multiple threads could be used to decompress subsections of an image, as opposed to having one thread decompress a whole image.

    PCGH: Is a console-game, especially a Xbox360 port, a natural to profit from three but not necessarily four cores?

    Jan Paul van Waveren: Current high profile game engines are designed for multiple platforms, including the PC, Mac, XBox 360 and PS3. As such the engine is not specifically designed for a fixed number of cores. Instead the engine is setup to have enough separate tasks, or exploit enough data parallelism such that it scales well on all platforms. From a programming perspective the ideal number of cores is one single super fast core. However, with a definite trend to a growing number of cores on today's CPUs there is no easy way around it, and more programming time will have to be spent to take advantage of all the cores.

    PCGH: Thanks for the interview!

    ---------------------

    Other gaming related interviews on PCGH Extreme:
    Technical Q&A S.T.A.L.K.E.R. Clear Sky
    Interview: Tim Sweeney (Epic) talks Triple-Core
    Geändert von PCGH_Thilo (04.10.2007 um 23:06 Uhr)
    Schreib dich nicht ab - Lern suchen und posten!


    •   Alt

      Anzeige
      Bitte einloggen, um diese Anzeige auszublenden.
       

  2. #2

    Mitglied seit
    20.08.2007
    Ort
    Niedersachsen
    Beiträge
    1.861

    AW: [PCGH Extreme] Interview with id:"What do you think about AMDs triple core approa

    Sehr nettes Interview
    Wissen ist nicht gleichzusetzen mit Borniertheit

  3. #3

    AW: [PCGH Extreme] Interview with id:"What do you think about AMDs triple core approa

    Geht das nur mir so, oder steht da zwischen den Zeilen, dass Triple Core halt im Grunde ein Quadcore für Arme ist?
    Ich meine, ok, offenbar produziert AMD derart viel Ausschuss, dass es sich lohnt, die kaputten Quadcores separat zu vermarkten.
    Es handelt sich nach Amatos Worten um das normale Quad-Core-Die, bei dem einer der vier Prozessoren stillgelegt wird. Dass Ausbeuteprobleme bei der Herstellung (Yield Rate) zu dieser Entscheidung beigetragen haben könnten, wollte Amato nicht bestätigen.
    Quelle
    Aber den Hype darum kann ich nicht nachvollziehen...

    Extra optimieren wird da sicher niemand dafür, man legt die Engine halt bestenfalls auf Quadcore aus oder lässt noch mehr Threads laufen. Im Grunde ist es erstmal wichtig, überhaupt threaded zu programmieren, dann merkt der Anwender auch etwas davon. Sowohl bei Triple als auch bei Quad.
    World-of-Tanks-Nickname: Meanjeans
    »Ugly-Smilies für PCGHX | me @ Deviantart «


  4. #4
    Avatar von Stefan Payne
    Mitglied seit
    20.08.2007
    Liest
    PCGH.de
    Ort
    im Wasser der Ostsee
    Beiträge
    21.228

    AW: [PCGH Extreme] Interview with id:"What do you think about AMDs triple core approa

    Zitat Zitat von Adrenalize Beitrag anzeigen
    Geht das nur mir so, oder steht da zwischen den Zeilen, dass Triple Core halt im Grunde ein Quadcore für Arme ist?
    Ich meine, ok, offenbar produziert AMD derart viel Ausschuss, dass es sich lohnt, die kaputten Quadcores separat zu vermarkten.
    Macht eigentlich jeder, ist nur im CPU Sektor nicht soo üblich bzw bekannt, das es gemacht wird/wurd.
    Ein paar Beispiele sind z.B. die Selleries, manche Durons, aber auch der Core Solo ist eigentlich ein Core Duo mit 1 deaktiviertem Kern!! (zumindest zeitweise war ers)

    Das bekannteste/beliebteste Beispiel dürft wohl das M0 Stepping des Northwood sein, bei dem der L3 Cache deaktiviert wurd...


    Zitat Zitat von Adrenalize Beitrag anzeigen
    Extra optimieren wird da sicher niemand dafür, man legt die Engine halt bestenfalls auf Quadcore aus oder lässt noch mehr Threads laufen. Im Grunde ist es erstmal wichtig, überhaupt threaded zu programmieren, dann merkt der Anwender auch etwas davon. Sowohl bei Triple als auch bei Quad.
    Es wäre ziemlich dämlich, für eine bestimmte Core Anzahl zu optimieren!

    Man macht einfach das was man kann und programmiert generell für Multicore Systeme, manchesmal auch nur für dual Core, das man aber extra für X-Cores optimiert, ist ein irrtum.

    Das Problem an Games ist einfach das sich der Programmcode nicht beliebig Parallelisieren lässt!!
    Ergo ist die Skalierung mit mehreren Cores meist ziemlich beschissen, von 1 auf 2 hat man noch den größten Schub, danach wirds aber eher mau...
    [Bilderthread] Stefans Netzteil Innereien ThreadStefans Netzteil Kurztest Thread
    Reviews: 550W Silentmaxx (Gold), LC-9550, 500W GoldCougar STX350 Vorstellung
    "Good spelling, punctuation, and formatting are essentially the on-line equivalent of bathing." -- Elf Sternberg

  5. #5

    AW: [PCGH Extreme] Interview with id:"What do you think about AMDs triple core approa

    Zitat Zitat von Stefan Payne Beitrag anzeigen
    Ergo ist die Skalierung mit mehreren Cores meist ziemlich beschissen, von 1 auf 2 hat man noch den größten Schub, danach wirds aber eher mau...
    Wobei es ja im Grunde gute Möglichkeiten gäbe, z.b. Soundeffekte und Physikeffekte zu verteilen. Dank Vista sind Spielereien wie EAX im Grunde ja obsolet, und auch die Rechenpower wäre vorhanden, um sämtliche Halleffekte usw. in Software zu berechnen. Hätte den Vorteil, dass jeder Onboardsoundchip alle Effekte kann, und die Spieleentwickler sich nicht mehr um die Hardware kümmern müssen.

    Intels Präsentationen zu Raytracing sind ja auch interessant, da skalieren die Cores ja sehr gut mit.
    Im Grunde gibts genug Ansatzstellen, wie Jan Paul van Waveren ja auch sagt, nur ist es halt mehr Arbeit, die Engine auf derartige Parallelität auszulegen.
    World-of-Tanks-Nickname: Meanjeans
    »Ugly-Smilies für PCGHX | me @ Deviantart «


  6. #6
    Avatar von Stefan Payne
    Mitglied seit
    20.08.2007
    Liest
    PCGH.de
    Ort
    im Wasser der Ostsee
    Beiträge
    21.228

    AW: [PCGH Extreme] Interview with id:"What do you think about AMDs triple core approa

    Ja, aber du vergisst, das der ganze Mist auch synchronisiert werden muss (kurzfassung: mag jeder Entwickler) und wirklich gut parallelisieren kannst das auch nicht.

    Theoretisch klasse, in der Praxis kaum praktikabel.

    Die Intel Präsentation kannst in die Tonne kloppen, ganz andere Baustelle!
    Rendering lässt sich ja bekanntlich sehr gut parallelisieren, wie du inzwischen weißt, haben wir schon '32 Core Prozessoren' (ja ja, ich weiß...) im Rendering bereich.

    Das Problem ist aber das ganze Zeugs was neben dem Rendering noch erledigt werden muss, von der CPU und das lässt sich eben nicht soo gut parallelisieren.
    [Bilderthread] Stefans Netzteil Innereien ThreadStefans Netzteil Kurztest Thread
    Reviews: 550W Silentmaxx (Gold), LC-9550, 500W GoldCougar STX350 Vorstellung
    "Good spelling, punctuation, and formatting are essentially the on-line equivalent of bathing." -- Elf Sternberg

  7. #7
    Avatar von riedochs
    Mitglied seit
    27.09.2007
    Ort
    Am Ende der Welt vorbei, dann Links und immer gerade aus
    Beiträge
    10.365

    AW: [PCGH Extreme] Interview with id:"What do you think about AMDs triple core approa

    Man müsste also das Programm/Spiel auf die jeweilige Anzahl der Prozessoren optimieren. Nur wer soll das bezahlen?
    Es gibt Tage da verliert man und es gibt Tage da gewinnen die Anderen. :)

  8. #8
    Avatar von Stefan Payne
    Mitglied seit
    20.08.2007
    Liest
    PCGH.de
    Ort
    im Wasser der Ostsee
    Beiträge
    21.228

    AW: [PCGH Extreme] Interview with id:"What do you think about AMDs triple core approa

    Nein, nein...
    Das kann man nicht bzw man lässt es gleich!!

    Wie schon im artikel geschrieben, entweder man programmiert ein Spiel Singlethreaded (Traum eines jeden ENtwicklers) oder man versucht von anfang an alles möglichst zu parallelisieren, wieviele Cores dann am Ende unterstützt werden, interessiert den Entwickler nicht, er versuchts halt für dieses Projekt optimal zu machen...

    Natürlich sind Spiele nicht beliebig parallelisierbar, daher gibts recht starke grenzen, ich denke das die Grenze schon bei 4 Cores erreicht ist...

    Das meinte er auch mit diesem Satz:
    Having 6 separate tasks, or steps in your pipeline, does not necessarily mean the engine scales all the way up to a system with 6 cores.
    Das liegt halt daran, das man eben NICHT alles gleichzeitig berechnen kann man kann manches zwar parallel rechnen, nur muss mans hinterher wieder zusammenfügen (logisch ) und genau da liegt das Problem bzw der Aufwand!

    Bei Server/Workstation anwendungen ist dieser Schritt teilweise nicht erforderlich, daher können die auch eher und stärker von mehreren Prozessoren profitieren als bei Spielen, wo man streng genommen nur eine AUfgabe erledigt...

    Bei Rendering kann man z.B. das zu berechnende Bild in mehrere Teile zerlegen und dann den CPUs sagen 'mach ma', bei Spielen ist das nicht soo einfach, das ist verdammt heikel und sollte nicht unterschätzt werden!!
    Ebenso darf der Performancegewinn durch Multithreading nicht überschätzt werden.

    Wenn ich 10 verschiedene Dinge gleichzeitig erledige (Webserver, Datenbanken z.B.) kann die Leistung durch mehrere Kerne auch stärker steigen als wenn ich nur eine Aufgabe erledige...
    [Bilderthread] Stefans Netzteil Innereien ThreadStefans Netzteil Kurztest Thread
    Reviews: 550W Silentmaxx (Gold), LC-9550, 500W GoldCougar STX350 Vorstellung
    "Good spelling, punctuation, and formatting are essentially the on-line equivalent of bathing." -- Elf Sternberg

  9. #9
    Avatar von kmf
    Mitglied seit
    22.09.2007
    Ort
    Neuweiler
    Beiträge
    2.672

    AW: [PCGH Extreme] Interview with id:"What do you think about AMDs triple core approa

    Zitat Zitat von Stefan Payne Beitrag anzeigen
    ...
    Bei Server/Workstation anwendungen ist dieser Schritt teilweise nicht erforderlich, daher können die auch eher und stärker von mehreren Prozessoren profitieren als bei Spielen, wo man streng genommen nur eine AUfgabe erledigt...
    ...
    Das ist so nicht ganz richtig Stefan. Auch auf Workstation müssen die Programme Multithreading unterstützen, sonst sind die auch nicht schneller.
    Spoiler:

    •   Alt

      Anzeige
      Bitte einloggen, um diese Anzeige auszublenden.
       

  10. #10

    AW: [PCGH Extreme] Interview with id:"What do you think about AMDs triple core approa

    Zitat Zitat von kmf Beitrag anzeigen
    Das ist so nicht ganz richtig Stefan. Auch auf Workstation müssen die Programme Multithreading unterstützen, sonst sind die auch nicht schneller.
    Ich denke er meinte, eher, dass die Software dort teils unabhängig parallel laufen kann, z.b. ein Webserver-Programm mit mehreren Threads, das muss da nicht soviel synchronisieren.

    Bei Spielen ist halt das Problem, dass man ja mehr oder weniger eine Echtzeitberechnung von Physik- oder soundeffekten braucht, weil jede Wartezeit die Framerate senkt, eben weil Grafik, Sound, Physik, KI und alles fertig sein müssen, bevor der Spieler seinen nächsten Befehl eingibt. Die Synchronität ist da sehr wichtig.
    Man muss die aufgaben halt in diverse Threads teilen, und diese so arrangieren, dass es zu keinen unnötigen Wartezeiten kommt. Die Anzahl der Kerne ist latte, bis zu einer gewissen Zahl geht es halt schneller. Mit z.B. 8 Threads auf 8 Kernen können alle zeitgleich starten, 7 müssen dann aber evtl. auf den letzten Thread warten, insofern wird gewonnene Zeit wieder verbummelt. mit 4 Kernen bekommt der längste Thread einen Kern, und die anderen 7 werden auf die restlichen 3 Kerne verteilt. Dauert genauso lange, aber die Kerne arbeiten länger und bummeln nicht, bis der letzte Thread fertig ist.
    World-of-Tanks-Nickname: Meanjeans
    »Ugly-Smilies für PCGHX | me @ Deviantart «


Seite 1 von 2 12

Ähnliche Themen

  1. AMD mit Triple-Core Prozessoren?
    Von PCGH_Thilo im Forum Prozessoren
    Antworten: 30
    Letzter Beitrag: 11.10.2007, 16:21
  2. [PCGH Extreme] Tim Sweeney (Epic) talks Triple-Core
    Von PCGH_Thilo im Forum Sonstige Spielethemen
    Antworten: 0
    Letzter Beitrag: 19.09.2007, 18:48

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Anmelden

Anmelden