Discussion in 'Article Discussion' started by bit-tech, 14 Sep 2017.
Sounds to me like you need better software. I use: Chrome, which has a thread per tab and spins other stuff out into separate threads also; GIMP, which in the 2.9 tree will happily use multiple cores for all filters and image operations; pigz/lbzip2, which will scale to as many cores as you have; Inkscape, which again will happily use multiple cores - and there's a massive performance difference between setting it to one thread compared with four threads on this 'ere old AMD APU; LibreOffice, which is at present not multi-threaded for most operations but does have OpenGL and OpenCL acceleration support; and for stuff that is presently single-threaded (like processing images through Guetzli) I can use GNU Parallel to automatically run as many jobs simultaneously as I have cores (or more, if I fancy shuffling work off to other computers via the network - seriously, GNU Parallel is acebest.)
It's why I bought a quad-core AMD rather than a dual-core Intel back when I built this system, and it's why I'll be getting as many cores as I can afford when it eventually needs an upgrade - and yes, I'll gladly trade single-threaded performance for more cores, just as I did when building this box 'ere.
Here's GIMP 2.9.7 running the Sharpen by Synthesis filter, for instance. Both stages of the filter are using all four cores throughout - and, sure enough, it's significantly faster than the old single-threaded version in the 2.8 tree.
The 2000's called and they want their comment back.
In the 2010's, even Excel will use up to 20 cores for really complex financial modelling spreadsheets.
Err... you absolutely can. That's how GIMP is using all four of my cores to run the Sharpen by Synthesis filter - which is, you'll note, a single task.
While a single program may not benefit significantly from more than 4 cores, it is helpful when running many programs and the same time and the user is multi-tasking.
It is nice to no longer need to shut one thing down to run something else.
No, it doesn't. Here, let's demonstrate with a resize from 4000 pixels wide to 8000 pixels wide...
See how all four cores are in use there, too? That certainly ain't carrying out multiple tasks - it's just resizing the image. How about arbitrary rotation - let's say, 41.7 degrees clockwise?
Once again, all four cores loaded with a single task on a single image.
It's entirely possible to split a single task across multiple threads.
That's something you might not come across often, but it's situation normal for me. Literally everything I do in GIMP scales across all four cores, from complex stuff like image sharpening to simple things like changing the colour levels or resizing the image.
The number of platforms is why I'm not even interested, Intel obsolete stuff too quickly, found it quite annoying when I could find neither a chip or a board on two separate hardware failures without going second hand, the hundreds of pounds you put into a system is disposable.
AMD has enough performance for me, enough cores at a good price and a good platform with it, particularly in the HEDT space. Time I put my money where my mouth is.
If I had to guess, I'd say you're running GIMP 2.8.x - which is single threaded. I quote:
Upgrade to 2.9.7, which is the version I'm running, check that it's set to use four cores (or however many cores you have) in the settings, and try again - you'll be able to replicate my results perfectly then.
That sounds like the early multi-core [Pentium D/Core Duo/Athlon x2] marketing:
Look! 2 cores! You can do 2 things at once, madness!
Now try something that's actually computationally intensive: select a biiiiiiig chunk of the image - like, more than half - and run the Heal Selection filter, or select the whole image and run the Sharpen by Synthesis filter. I guarantee neither of those will be almost instant!
At least you now understand that you can spread individual tasks across multiple processor cores, and that tasks which in Photoshop are single-threaded are multi-threaded in GIMP (2.9 onwards, anyway!) Which brings us back to the reason I started posting in the thread: you claimed "99% of software out there" doesn't see the benefit of multiple cores; what you actually meant was 99% of the software you use doesn't see the benefit. 99% of the software I use does see the benefit - which brings me back to my original point: you need better software!
And yet it fails to scale to multiple cores while GIMP, a free software project, manages it just fine. Poor show, Adobe, poor show.
Thankfully, despite working in the print media industry, not a single one of my clients has ever had a problem with me submitting stuff created in GIMP, Inkscape, LibreOffice, and other disgusting Commie packages. Which is good, 'cos I sure as heck don't fancy going back to Windows as a daily driver!
I think if AMD/Intel kick off a core war then the software will follow.
Coding for multiple threads might be more complex, but I still think the main reason there are still a lot of single threaded apps is simply that you can get away with it. While the mainstream is still dual/quad then the performance penalty is deemed acceptable once you take into account typical multitasking. Make 8/16 core the norm and that won't be the case.
That and the lack of proper non-destructive editing. Thankfully, I'm only using it to tart up photographs and occasionally rasterise a vector that Inkscape decides should look like a late Picasso piece - colour matching for print is officially Someone Else's Problem (which probably involves loading my images into Photoshop!)
Sadly, the development roadmap still has 'high-end CMYK support' as 'no,' meaning there's no chance of seeing it any time soon. We have already got the multithreading in 2.9, though, along with OpenCL acceleration and high bit-depth support, which is definitely somethin', and 3.2 is supposed to be focused on adding non-destructive editing capabilities - so perhaps there's hope around 3.3/3.4 time?
"Build it, and they will come."
If I was getting a new processor right now I'd want more than 8 threads, as 4c/8t processors have been affordable since 2010. 4c/4t is pretty much "normal" now, and OSes are ok at exploiting this... but when software catches up and starts using every thread it can justify using... I'd hate to be sitting on 4c/4t and watching up-til-then slower (but still formidable) processors getting a new lease of life and zooming into the distance.
I think it's at the entry level that Intel is finally doing something exciting - high end parts are all well and good, but it's only now that Intel are joining AMD in making quad core the base for everyone to work from that the benefit will filter up.
Z370/390 and X299 will just be a confusing, convoluted mess when it's all out and available, with multiple processor families, PCI-E lane amounts, sockets that are the same but not.... AMD really streamlined everything with AM4 and TR4, and even with the 1900X there is still a clear advantage over it's X370 stablemate.
If you cram more cores (built on the same architecture) into the same package, why do you think it will overclock as well, or sustain boost speeds for as long as the fewer-core solution?
Given that the TDP hasn't increased much, I'm inclined to believe that the new CPUs will clock lower per core. Efficiency surely won't have improved by 17% for this transition!
They could build something proper fast but when they put toothpaste between IHS and die you have no chance, Intel don't want you to get that performance, they want you to buy the next thing sooner.
My issue with this is, Intel has been sitting on this for years now. They've been sitting on the core increase which I'm sure has been perfectly possible for them, but cash is king. They've also been sitting on their pricing, increasing it with each iteration because, again, cash is king. Now that AMD has undermined them, suddenly they can increase the core count and reduce the prices, just so they can stay ever so slightly ahead of AMD without pulling all the punches. Seeing that the AMDs are no longer incapable of swapping blows with Intel, I'm gonna make an effort for my next system to be Ryzen-based, even if Coffee Lake does out-do it.
The days of huge increases in processor performance are gone and they're not coming back - Moore's law is effectively dead. I doubt that Intel can keep a huge lead over AMD for long, and only in performance not features.
Good riddance, Intel is an awful company.
Careful what you wish for - Don't doubt for a second that AMD would do exactly what Intel did if the roles were reversed...
Separate names with a comma.