Last message on previous page:
| jaydeejohn wrote : How old is that from Anands? And what does it have to do with Adobe? Even Adobe, in its infancy using gpus is outdistancing any cpus made or to be made. So to me, having a cpu doing these things is foolish, as theyre awfully inadequate to do them. |
18th August 2008, hardly an ancient article by any means. Maybe one or two revisions have come out since then, but I doubt they would have anywhere near the customisation of a CPU based encoder in this short period of time. What does it have to do with Adobe? Uhh, nothing, it has everything to do with ENCODING. As far as Photoshop goes, as I mentioned earlier GPU acceleration is only available on certain functions (canvas rotating and zooming): http://www.tgdaily.com/content/view/39433/140/1/1/
So maybe having a CPU do the few GPU accelerated functions are foolish (not that anyone will override GPU acceleration in any case), but what about everything else? I'm sure theres a WHOLE LOT MORE to Photoshop than just image rotation and zoom, but whatever, using a CPU is 'foolish' apparently... LOL!
I swear some of you guys see a few marketing slides on CUDA and think the CPU is now redundant, well yeah if you wanna encode in baseline quality which looks like absolute **** or ONLY use zoom and rotation in Photoshop, then go ahead, but like I said GPU based acceleration of common desktop apps has a LONG way to go, so in the meantime I'd say the gains Nehalem brings are VERY relevant.
JD, this is just an observation of mine, but it appears everytime you start a thread, you've already made up your mind (just thinking back to the 'is AMD as fast as Intel in gaming' thread) and the rest of your replies thereafter involve trying to 'convert' people into your frame of thinking, rather than discussion of the actual topic.
| Mathos wrote : Itanium isn't a good example, it had a very limited niche and tried to force full 64bit adoption without the x86 base market. But as far as RISC goes you'd be suprised. It's still a mainstay for a lot of things like the ARM chips and such. Not to mention every AMD processor from the k5 to k7 Athlon XP was RISC based with a front end slapped on that allowed it to process x86 code. K8 is based on Modified K7 with x86-64 and IMC, likewise with k8 to k10. So, RISC is actually still around it's just in places you don't realize.
|
Mathos,
On RISC, in PC, you answered the example yourself with the AMDs. RISC could not be succesfully implemented on a commercial basis, and was not. It was hybridized, in such a manner that what was released was not RISC
On multithreaded softeware, I dont know how you arrived at the conclusion that the reason why software developers have not been writing code optimised for quadcore is because "they have been waitng for Intel to go native quad", but the evidence says otherwise.
1) In terms of execution, there is no functional difference between MCM and native, and as such there no reason to wait for a native multi anything, unless you beleive in AMDs "multicore for dummies", which AMD itself resoundingly proved fallacious
2) Need. There is software which can benifit from multithreading, and software which doesnt. Most software doesnt. Word processors, web browsers, most localized commercial databases, hardware SDKs etc, dont. Transcoding, rendering and higher function theoretical math/physics can. Virtualization does.
And what the evidense says is that current single thread programming techniques/methods do not apply well to writing multithread. New methods provide faster results, but are not optimal in terms of maximizing efficiency. And the rest is just reverse logic, assuming that because there are quadcores, there must be quadcore optimized software.
http://www.tomshardware.com/forum/ [...] -threading
I suggest you visit this thread, and read the article that started it, and the posts from actual code writers
http://money.cnn.com/2008/08/13/te [...] /index.htm
Heres a few quotes
| dobby wrote : as a programer, i can tell you multi threading is hard, it just not worth it. dont forget that two thread can run on one core or two, it is just 2 line of codes, which can never meet.
|
| Zenthar wrote : Multi-threading an application seems easy: make one core do that and the other do that ... In fact it's pretty damn complex since they all have to be synchronized; you cannot render a particle until you know where in space it should be and things like that. Also you have to make sure every thread do not lock a resource the other needs (called dead-locks). Finally, multi-threaded applications are a hell to debug since since you have to deal with what's called "race conditions", some bugs will only show-up in very weird circumstances (ex: when you open an application while performing video encoding) just because some threads will become slower and not answer in time ... looping to my first challenge: synchronization. |
Heres a nice one that points out new methodology to ease the writing of multithread, unfortunately, as Mrak points out there are some other potential problems. What Mark didnt mention is the "overhead" the cost of using threads themselves as commuincation conduits...which consumes resourses (cores) to latterally translate data, with no forward progress.
| MarkG wrote : I've been writing multi-threaded applications since the late 80s; while it can be complex, there are various methods of dramatically reducing that complexity.
|
Nark follows up with this, but presnts no proof. Furthermore, while there is incentive to utilize the extra cores in certain genres of games for particle physics, that is a long way off, as the contiuning trend in development of the higher complexity games has been divergence in developement, with one company creating the engine and selling it to many 'game houses'. This trend will continue as the smaller companies can afford niether the time nor cash to dedicate to developing new engines. Regardless, one only need look at development time to see the trend is to longer times, meaning it will still be years before any significant number of engines optimized for quadcore are available.
| MarkG wrote : The vast majority of future games will be multithreaded because they'll want the CPU power; individual cores aren't going to get hugely faster any time soon. Game developers develop for hardware that the average gamer will have around the time the game is released, and right now that's a dual-core; anyone releasing games optimised for quad cores right now would need their heads examined.
|
And heres another good one that demonstrates the real 'benefits'
| entropyfails wrote : Computer Scientists have a law of computation known as Amdahl's Law which tells you the maximum theoretical speedup you can get by adding more processors to a program. For any program, there are parts of the computation that you can do in serial and parts you can do in parallel. It is a law of diminishing returns.
So if we have a game that is 50% serial and 50% parallel that runs at certain speed on a one processor machine, here is what we would get when adding processors.
"But wait," you say. "I'm the god of parallel programming. I can make a program that is 95% parallel and only 5% serial!"
So there are fundamental reasons that the doubling your processors won't double your performance. Many tasks don't parallelize well. So that little bit of code that has to be serial almost always ends up being the dominant part of your runtimes.
|
That was a good thread, you should read it.

| epsilon84 wrote : 18th August 2008, hardly an ancient article by any means. Maybe one or two revisions have come out since then, but I doubt they would have anywhere near the customisation of a CPU based encoder in this short period of time. What does it have to do with Adobe? Uhh, nothing, it has everything to do with ENCODING. As far as Photoshop goes, as I mentioned earlier GPU acceleration is only available on certain functions (canvas rotating and zooming): http://www.tgdaily.com/content/view/39433/140/1/1/
|
August 18th is OLD news. Its just like Annands to jump the gun again. He obviously has an affection for cpus. Have YOU seen the newer news? That ANY current graphics card can accelerate can do this? S3 claims there solution is waaaay faster than a cpu. S3 LOL. So, now youre going to argue about MY mind being made up? When its facts facing you down, and showing how useless cpus are in doing these things? So is CUDA a threat? S3 doesnt use CUDA. So whats all this talk about CUDA? Thats only 1 solution thats better than a cpu.Cpus are no longer needed for video encoding etc. Theyre passe.
It all comes down to MT for i7, and it doesnt look like thats happening anytime soon, so if Ive made up myt mind about Adobe, video encoding etc being done on a gpu, so have alot of other people, now EVERYONE else will just have to catch up. The reason Id asked how old that article was was because I knew Adobe and others have things either already out, or coming soon. This is why Intel is making LRB, their main reason, I believe, because cpus are no longer sufficient for doing these things, no matter how many cores you have, at least not using a pure x86 cpu. So go buy a i7 and wait for all those MT apps, whenever theyll get here, but dont say I didnt expose or try to anyways, how slowly these things change
@turpit
Thats just the thing, I'm mainly going by what I've seen as new processors have came out, compared to when games and programs that utilize their abilities come out. Most of the time, for example with games that were able to run 2 threads, everyone has waited for Intel's processors to come out, with a few stragglers just going ahead and not waiting. Going by memory I didn't all that many two threaded games/apps at all till after C2d came out, even though Athlon X2 had been out for almost 2 years prior, as well as the Pentium D's. Going by that it would appear that they all waited for Intel's native dual core processor. My other guess is it has to do with the way the Cache systems work on the processors. Intel's MCM has two large L2's which reduces memory hits, and the need to go to FSB. When they are switching to Nehalem things will change, due to the smaller L2's per core, but unified L3.
There are games out now that are multitread capable. Anything based of Unreal Engine 3 is, which seems to be a lot of the fps genre games from smaller publishers lately. Mass effect for example. The one thing I've noticed though. Even at present most programs and games aren't going well over 2.7-3 threads. Which is why in some benchmarks the Phenom X'3 perform near the same as the X4s. I believe once Nehalem comes out, that things are going to change and improve for anyone running a multicore processor regardless of brand, especially after about 1 year.
As far as programming goes, yeah, I'd assume it would be difficult with current tools. But like the one guy said if you're using the proper tools to do the coding it won't be a problem at all. People don't seem to remember that the server space has had parallel or multithreaded apps for a long time now.
I want to run my system on purely on a graphics card..oh wait...that isn't happening.
Would be nice,probably insane boot times if paired with a new pair of SSD's in RAID-0.
But do people "need" it? Not really.They're happy with their slow systems,as they work right now.If it's not that,they're misinformed that GIGAHERTZ=POWER,even though a single HD 4870 would slaughter all the CPU's on the market...when it comes to basically anything.
But I,on the other hand,prefer what is the best product,I don't want to pay McDonalds for a half eaten burger.
Was Pentium Pro ahead of its time? Pentium Pro/i7 - feels like the same thing. Some with deep pockets or server type applications will jump in right away, the rest probably wait for the Pentium III mass-market iteration (at least from what I'm seeing).
GPGPUs... we're talking about their infancy. Right now, Nvidia runs CUDA, AMD runs CAL, S3 runs their as-yet-unreleased API - it's like coding for Itanium but you have 3 incompatible Itanium vendors. No wonder there's such limited serious GPGPU coding.
CUDA could very well go the way of Itanic; minority share APIs almost certainly will. It'll come to how much can be salvaged when DirectX 11 or some GPGPU standard forms.
I've been running some CUDA on Vista - it feels unpolished. You can forget about playing games and "multitasking" the CUDA app, despite every CUDA app being inherently full of parallel code. You can probably say goodbye to Aero too - very choppy with CUDA active. This stuff is certainly not ready for the mass market; it's only surviving because it piggybacks off GPUs mainly sold for other purposes.
| turpit wrote : What Mark didnt mention is the "overhead" the cost of using threads themselves as commuincation conduits...which consumes resourses (cores) to latterally translate data, with no forward progress. |
You mean, other than the part where I said:
"the downside is that if the system is poorly designed the overhead of the message passing can be greater than the benefit of the extra thread."
You don't use CPU cores to run threads to transfer data (well, we did on Transputers in the old days, but they were radically different CPUs that were based on message-passing), you just have a queue that two threads access and appropriate locks to ensure that they don't access data at the same time. That's a small overhead compared to the actual process of packing data into messages and passing them around the system.
Either way, it's almost certain to be faster and more reliable than the alternative of locking data every time you access it; not only is that slow, but you only have to forget to lock it one time in the code to cause random bugs and crashes. Keeping the locking code in one place in the queues makes it pretty much trivial to debug.
| Quote : Nark follows up with this, but presnts no proof. |
Proof of what?
| Quote : Furthermore, while there is incentive to utilize the extra cores in certain genres of games for particle physics, that is a long way off |
Not if game developers have any clue; any sensible modern game engine should be built to be core-agnostic, and run as many threads as the CPU can support. If you're going to make it multithreaded, you might as well go all the way... designing for a specific number of cores is retarded.
| Quote : as the contiuning trend in development of the higher complexity games has been divergence in developement, with one company creating the engine and selling it to many 'game houses'. |
Exactly; only one company has to release a game engine that splits the work across as many cores as are available and you'll have plenty of games that run better on Nehalem than older CPUs.
| MarkG wrote : You mean, other than the part where I said:
|
Oh come on Mark, you didnt say core, you said overhead, which can easily translate to cache or transfer. If you really meant core(s), I can buy that. You havent demonstrated any tendencies (that Ive seen) to lie, backtrack or ignore like some of our other members, so if you tell me thats what you meant, Im good with it, but as I read it, it was both vague and broad, and thus not particluarly meaningfull and certainly not specific to consumption of a core.
| MarkG wrote :
|
And what what executes the code that controls the queue? Its not the cache. You can either dedicate a core to that task, or execute it sequentially within a thread. Either way, it takes time and resourses. If its executed flawlessly in either method, then the net sum difference between methods should be zero, theoretically.
Regardless, with vast amounts of data/messages, a dedicated core is literally demanded, especially in fine threading if you are going to run hundreds of loops,which is what will be demanded with high realism particle physics. If you were to try and run that amount of trffic within a thread, it would bring the code execution to a screeching halt as it made all those calls and waited for the replies.
| MarkG wrote :
|
I agree, but there in lies the problem itself. Even with newer methods, the complexity still increases, and with the increase in complexity comes the attendant increased risk of conflicts. You can slice the processes/loops any way you want. You can code the data calls/exchanges anyway you want. It doesnt matter. As you improve realism the data volume and interdependance are still increasing (unless you stop development and use the same engine for every new title), so you are increasing the opportunites for conflicts. Anyway you do it, you cant get rid of the base data conditioning wth out moving in the wrong direction....reducing the level of realism. The graphics side is nothing, but the physics side is a differnet story, and once you start cutting that, I dont care how photo realistic your graphics are, you are cutting content.
| Quote : Nark follows up with this, but presnts no proof. |
| MarkG wrote :
|
Well crikies, I dont remember now. What was the quote?
| Quote : Furthermore, while there is incentive to utilize the extra cores in certain genres of games for particle physics, that is a long way off |
| MarkG wrote :
|
Mark, I agree with you, but simply because you and I agree that this is the way it "should" be, doesnt mean thats the way it can be. Going "all the way" would be easy if all they were doing was programing extra ghosts in 'Pac Man'. Thats not where the industry is going. And thats not where the industry is going because the consumer demand within the market segement we're talking about, that segment that actually has some use for multicore, is for increased realism. Which means only one thing: the increased demand is for particle physics.
IRT particle physics, Its not even possible to 'go all the way' right now. Current and upcoming hardware couldnt even come close to handling high volume realistic particle physics. Even attempting to minimze the problem by moving to larger objects doesnt come close to elimintaing a fraction of the variables. Mass, density, composition, energy state, velocity, reactivity.....the list goes on. None of these properties can be ignored to go 'all the way', and have to be modeled mathmatically/in code at the molecular level.
| Quote : as the contiuning trend in development of the higher complexity games has been divergence in developement, with one company creating the engine and selling it to many 'game houses'. |
| MarkG wrote :
|
One company or a dozen, it doesnt matter. Any company that developes an engine must deal with the problems of multicore. ID took at least 2 years to deveople Tech 5, and that barely scratches the surface of particle physics. Cryteks last engine for crysis, touted as a major jump in physics failed to deliver the level of physics demonstrated in their trailers, meaing either that they had to give up something to speed release (and it was late as it was) or they simple had problems they couldnt overcome and had to cutback. As for their next engine, it is now 2008 and their next engine in developement now. It wont be out until 2012. 4 years.
http://www.joystiq.com/2008/08/19/ [...] -due-2012/
You know, Its great that so many people seem to think that there are going to be quad optimizing games flooding the market, but here we are, just about 2 years after C2Q, and you can still count the number or quad optimized titles on your fingers. This miraculous flood of 'quad' everything software should have hit the market by now, or at least be showing up as I type this, but it hasent. Why? 3 possible reasons come immediatly to mind: it isnt in demand, it isnt needed to achieve accepatble results, or its difficult to do. Pick one or any combination. Eitherway, if a complex game began developement in november 2006, when the QX6700 was introduced, it should be here anytime.....unless you suscribe to mathos theory that the developers were waiting for nehelem. So I guess we'll wait and see how many ouad titles pop up this xmas. Who knows, the market may flood and prove you right, but I wouldnt put any money on that, at any odds.

| Wr wrote : Was Pentium Pro ahead of its time? Pentium Pro/i7 - feels like the same thing. Some with deep pockets or server type applications will jump in right away, the rest probably wait for the Pentium III mass-market iteration (at least from what I'm seeing).
|
Most coders are waiting for the Direct X of GPGPU, heck it could even be made by Microsoft.
CUDA is supposedly similar to C so programming can't be that hard? CAL I don't know about. Also unless S3 has somthing compatible with the majors, it will be a minor app.
| amdfangirl wrote : Most coders are waiting for the Direct X of GPGPU, heck it could even be made by Microsoft.
|
With CUDA its not that its easy which C is pretty easy. Its that the software companies look at it this way. 1. tey will have to rewrite everything to CUDA. And 2. that will cost money. Do they want to spend money? Not really. Unless it becomes a more dominant market they wont because it wont profit them.
Now once it does become a bigger more dominant market you bett you ass every last company will write to support both CPUs and GPGPUs. That way they can still support both and profit. Thats all they care about unfortunately.

I see huge profits for Nvidia if they create a programming translator. Might finally make CUDA pay them back.
| amdfangirl wrote : I see huge profits for Nvidia if they create a programming translator. Might finally make CUDA pay them back. |
But they are in the crap bigtime for failing video card chipsets...
^Wasn't it just a bit ago nVidia was talking like they are the big dog and CPUs were useless and now they are in a crap hole?
Funny what happens when you talk trash and you don't pay attention to your stuff.

Taking a look at NVISION this year, it wasnt about nVidia , but about the gpu and its place in the overall market. CUDA is one thing, gpus another. nVidia is flexable, and having CUDA fail would be a setback, but having gpus doing gpgpu type things is still a win for them, and thats what they promoted during NVISION. Its obvious theyre in it for the long haul, regardless of how it plays out.
I agree totally with Turpit here. One way or another, itll be several years before we see most games coming out using a LIMITED amount of MT. UT3 is one such game, and it shows very little in performance anyways, which hopefully is more of a fluke than an eventuality.
^With the UT3 engine it could be that its not fully optimized. Also depends on the res too.
but take Source for example. It has MT support but is not active due to it not being 100% stable yet. But when you activate it via console command (it will usually run for 1 hour before crashing the game) some people see very little gain (they may have a high clocked dual/quad) and other will see 100% performance improvement.
When I activate it I go from my normal 100FPS+ to almost the cap of 300FPS. I have heard VALVe is working on it for L4D for full support and if thats true that means all Soirce based games will get it.
It all depends on the game designer and how much work they are willing to put into MT. They can put a little work in and get little results such as offloading particle effects to another CPU or they can work hard and get great results like VALVe and having the game on one, Physics on another and if you have a quad particle effects on another one.

| jimmysmitty wrote : ^Wasn't it just a bit ago nVidia was talking like they are the big dog and CPUs were useless and now they are in a crap hole?
|
I did state ages ago that the head of Nvidia should shut up and get on doing what they did best...
Oh no,, he slagged of Intel saying CPU's were the thing of the past, then all crap flew loose when the video cards started packing up in laptops and desktops.. Now hes in the sh!t
Now I did say that nowadays you have to work with Intel, not against them..
AMD tried it and they are suffering bigtime... You can just tell Intel wanted ATI as there was talks of a take over of Nvidia, but that fell through..
Wether they like it or not thats the way it is..
Intel are just to big and write the rule book...
Love or hate Intel, they have created PCI, PCI Express, AGP, USB 1 & 2 and soon 3...
Even if you dont like Microsoft you make the more money selling Windows against the linux based systems... Fact..
Plus every one wants Windows with Intel inside...
If I was AMD I would sell of ATI, but keep the chipset division and work on what it does best make processors...
But AMD is self imploading by greedy directors removing cash (allegedly)
^ AMD, to keep afloat should dump the leech that is Hector.
| amdfangirl wrote : ^ AMD, to keep afloat should dump the leech that is Hector. |
They just did, gave him to the Arabs.
From now on, maybe Hector should just be referred to as "the infidel?"
There are 988 identified and unidentified users. To see the list of identified users, Click here.
You are about to answer a thread that has been inactive for more than 6 months.
If you still wish to proceed, please ensure that your posting is original and does not duplicate or overlap any prior responses to this thread.
