3dcgi said:
Personally I think HT is most useful for non-game apps, but I hope Intel's developer relations people are getting companies to start multi-threading their software and games. That way when dual core chips start arriving in a few years the apps will be there to take advantage of them.
I agree with you--I very much like the concept of multiple threads and always have. Don't want you to think I oppose the concept because I certainly don't. I'm being realistic, though, I think, in saying that with current cpu power on the desktop, and likely in the future, the incentive for developers to spend the extra time--which would be considerable--in writing mutlithreaded engines/games just isn't there. To be blunt, I'm not sure how many game development houses even have that kind of know-how on staff--it's a considerable job, IMO. And like with anything else, its pros and cons have to be evaluated from the standpoint of the age-old equation Time = Money...
If it was as easy as adding SSE2 support we'd already see gobs of multithreaded games...
What I objected to in the post I responded to above is the implication that there's some "special" relationship between multithreaded software and the cpu feature Intel markets as HYPErthreading. That's what really sticks in my craw...
Clearly, even today, the much superior path to a P4 HT cpu is SMP, if your interest is in running multiple threaded software, and your other interest is performance. Two cpus running two threads is always--always--a LOT better than one cpu multitasking two threads in its single core--which is what the P4 and every other cpu currently shipping do when they run multithreaded software. When you have two cpus you can literally run two threads at the same time--a thread executes on each respective cpu simultaneously. The difference between SMT/SMP and SMT/single-cpu HYPErthreading is huge. While it's not uncommon to see a linear performance increase in dual-cpu SMP rigs of 100% in *some software* while doing SMT, you'll be very lucky indeed to hit a 30% improvement under the same conditions using HYPErthreading in a single P4 (I capitalize "HYPE" because I think the word needs to be emphasized in relation to this feature.)
I'm not trying to say that, for the P4 architecture, HYPErthreading isn't a valid "feature", only that it's much more valuable to Intel as a marketing gimmick than it is to an end user whose primary use of his machine is running 3d games...
It helps Intel, but does comparatively nothing for the end user in this case, except to lighten his wallet a bit more...
As far as a "catalyst" goes for developing multithreaded software--of course x86 SMP rigs, by both Intel and AMD, have been with us for years, already. If their presence hasn't spurred more multithreaded software development, then it's unlikely that the the P4's HYPErthreading capability will do any better. Chief reason I think this is because you don't need an HT P4 to run multithreaded software--and never have. Theoretically, running any old cpu, you should get some performance benefit out of running multithreaded software normally, since you can "multitask threads" provided the OS supports it. The problem unfortunately, is the same without regard to owning an HT cpu--the added development time and effort doesn't equal the payoff--by a long shot. Of course, in very expensive professional software of various types--programs selling for hundreds/thousands of dollars--written to run on SMP rigs of great power--the development angle is much different, and the extra boost in performance is considered worthwhile.
Really, I guess the way I look at it is that a 3d-gamer using an HT-capable cpu is doing "play SMT," whereas you really need to go SMP and spend the bucks if you want to see the advantages of multithreaded software performance, in reality.
How will mutlitple-core cpus affect things? I really don't know...
I would imagine off hand--not much--and that it'll be very much like the kind of situation that exists today if you really want to pay for SMP hardware and the applications that can make use of multithreaded performance. IE, the way the next couple of years look from here, it's going to be years and years before we see dual-core cpus making it out into the mass consumer markets. First, they'll go to businesses and professionals and, after a couple of years of saturation, they *may* filter down into the consumer markets. I mean, dual-SMP rigs have been available for years now, mainly in the professional markets, but the consumer cpu market is still very much dominated by the single cpu.
OK, I'll quit boring you...