News Gabe Newell talks dual core

Discussion in 'Article Discussion' started by WilHarris, 9 Aug 2005.

  1. WilHarris

    WilHarris Just another nobody Moderator

    Joined:
    16 Jun 2001
    Posts:
    2,679
    Likes Received:
    2
  2. Cheap Mod Wannabe

    Cheap Mod Wannabe What's a Dremel?

    Joined:
    7 Feb 2005
    Posts:
    1,471
    Likes Received:
    18
    Since I do not know nothing about coding I can only say that either they want to have a good reason to charge 80$-$100 for a game or it is actually much much harder.
     
  3. mclean007

    mclean007 Officious Bystander

    Joined:
    22 May 2003
    Posts:
    2,035
    Likes Received:
    15
    I can see his point to an extent. However, surely without too much work they can write engines to take at least some advantage of dual/multi-core. I mean, I guess things like AI, physics, sound etc. are already fairly compartmentalised in the code. If there could be a division of labour such that, for example, one processor handled AI and networking while the other took care of physics and sound, that would yield a boost in performance.

    The cynical side of me can only guess that he's playing down the importance of multicore for games because his lot have only recently finished Source, and they don't want it to be outmoded before it's been pimped around as many games as possible.

    I think we're all going to see something pretty special when the new Unreal engine starts being shown on A64 X2. My guess is AMD won't be able to justify keeping FX59 off the dual core process once we've seen some numbers from Ubisoft's new baby.
     
  4. Reaper_Unreal

    Reaper_Unreal What's a Dremel?

    Joined:
    16 Apr 2002
    Posts:
    380
    Likes Received:
    0
    It's true to some extent. Programming in a multi-threaded fashion is quite difficult, (maybe a 5 on that scale) but it can easily go up to a 10 if you don't plan ahead. There's a reason that every computer-science major has taken at least 1 class about multi-threading, or distributed computing. As long as you're careful about thread crossover points, everything should be only slightly harder than things are currently. Besides, with a dual core you could easily run AI on one core, and sound and graphics on the other core, seeing as how those are pretty much totally separate entities. I should know, I'm actually at work right now working on a system that has 7 (or so) processors of which there are 3 different kinds. It's only hard if you don't plan ahead.
     
  5. Henchman:crg

    Henchman:crg What's a Dremel?

    Joined:
    9 Feb 2005
    Posts:
    749
    Likes Received:
    0
    Reaper is correct, but of course, this will probably mean more bugs, and worse still, bugs that are harder to find, due to the complex nature of multi-threading.
     
  6. Da Dego

    Da Dego Brett Thomas

    Joined:
    17 Aug 2004
    Posts:
    3,913
    Likes Received:
    1
    Reaper is dead-on. Multithread is not all that bad. If you plan ahead, and don't think in an incredibly linear fashion, that is. Hell, threaded code is actually EASIER in some respects. When it comes to bug tracing, if you properly compartmentalize your code, you can see which thread failed and immediately have your error pinned down to a small amount of code.

    All it is is a shift in thinking. This is what brought mac up ahead of the game for a while...companies that programmed for them were learning to write dual-threaded and multi-threaded apps for some time. For some reason, though, despite Hyperthreading, it just never caught on in the windows world. Lazy, I guess.

    I do agree with him about the industry's take on consumers, though...and I applaud him for at least saying it.
     
  7. Guest-16

    Guest-16 Guest

    PS3 Games??
     
  8. Firehed

    Firehed Why not? I own a domain to match.

    Joined:
    15 Feb 2004
    Posts:
    12,574
    Likes Received:
    16
    I bet what the really hard part is would be keeping in mind that 95% of people are still on single core. So you have to basically double the code. Do a check for the number of cores/procs. If one, send it all there. If two, physics to one, everything else to the other. If three, physics, AI and everything else. Or something to that extent. I totally understand why it's so tricky.
     
  9. Reaper_Unreal

    Reaper_Unreal What's a Dremel?

    Joined:
    16 Apr 2002
    Posts:
    380
    Likes Received:
    0
    No, I work at Ross Video and those panels you see there need a whole lot of processing power.
     
  10. Almightyrastus

    Almightyrastus On the jazz.

    Joined:
    21 Mar 2002
    Posts:
    6,063
    Likes Received:
    641
    Hell, I have enough trouble writing code for the Motorola MC68HC11 MCU running at 2MHz let alone anything like these hehe
     
  11. Eroberer

    Eroberer What's a Dremel?

    Joined:
    12 Aug 2005
    Posts:
    1
    Likes Received:
    0
    I'm kind of surprised that no one has corrected this yet. Multi-threaded code runs perfectly fine on single core processors. Without going into too much detail that I know little about, threaded programs pass CPU resources back and forth within ALL CPUs, but simply cannot run at the same time on a "single-threaded" CPU. They get hustled through the CPU as if they were one single running process. In fact, some problems in programs can be solved simply by multithreading even if you KNOW it's going to go on a single-threaded CPU, because then you get the whole silly execution process to simulate doing two things at once better. I've never programmed an industrial sized program, but I think you're right about the hardware detection principles anyway. The fact that this is an old thread and that I don't know much about it means that I'll stay away from that subject, though.


    Coding multiple threads into your program is just one problem brought along by the likes of the PS3 and the Xbox. The lack of any branch prediction, cache sizes, out of order instruction execution...basically the whole thread-level-parallelism that has driven innovation up to this point, will mean that you end up with multiple rather slow running threads. The Xbox's single-threaded capacity is very slim, as is the PS3's last I read, so the thought of off-loading things like AI (very branch heavy) and physics (likes fast math from its threads) is both hard to program, and yields (by my guess) very little advantage in the overall speed POTENTIAL of a program. Such a multi-threaded program could potentially run just as fast on a "single-threaded" FX-57 as it could on the hobbled multiple cores of an Xbox360, but I have no way of testing this theory very quickly. The difference between running said program on an FX-57 and an Xbox360/PS3 is that is HAS to be multi-threaded to get the performance out of the latter group, and yet it still might run at the same speed (and I think this is what Gabe Newell is frustrated with).

    The complexity of writing multi-threaded programs also comes not just from spinning out the code, but from balancing between such bad single-threaded performance in a performance-critical app. Our good friend Reaper probably isn't trying to extract the greatest performance possible from his 7 processors either, which probably just happen to be light-years beyond a single core from the Xbox360/PS3.

    The fresh new dual-core CPUs offer almost as much single-threaded capacity, but in order for games to extract any greater speed from the processor, they also HAVE to be multi-threaded. Still, by most accounts, the days of speeding up single threads in hardware are pretty much over, so games will have to take the leap at some point.
     
  12. Muunsyr

    Muunsyr What's a Dremel?

    Joined:
    22 May 2005
    Posts:
    53
    Likes Received:
    1
    Has anyone heard of 'Oblivion'? 'The Elder Scrolls IV'? Bethesda Softworks? Their up and comeing game, 'TESIV: Oblivion', sequel to 'Morrowind' is going to be multithreaded. They have stated that it will make very good use of dual core processors. They haven't reported any major dificulties in writing multithreaded code as far as I am aware. I rather got the impression that Mr Newell was haveing a bit of a whinge.
     
Tags: Add Tags

Share This Page