A computer components & hardware forum. HardwareBanter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » HardwareBanter forum » General Hardware & Peripherals » Homebuilt PC's
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

Is there consumer s/w available now that uses multi-core CPUs?



 
 
Thread Tools Display Modes
  #1  
Old June 24th 17, 04:57 AM posted to alt.comp.hardware.pc-homebuilt
Yes[_2_]
external usenet poster
 
Posts: 105
Default Is there consumer s/w available now that uses multi-core CPUs?

Maybe OT, but given the thread about future CPUs, is there consumer
software now that actually uses the multi-core CPU technology? I mean,
all the additional cores sounds nice, but has any consumer s/w caught
up with the hardware?

TIA,

John Howland
  #2  
Old June 24th 17, 05:59 AM posted to alt.comp.hardware.pc-homebuilt
Paul[_28_]
external usenet poster
 
Posts: 1,467
Default Is there consumer s/w available now that uses multi-core CPUs?

Yes wrote:
Maybe OT, but given the thread about future CPUs, is there consumer
software now that actually uses the multi-core CPU technology? I mean,
all the additional cores sounds nice, but has any consumer s/w caught
up with the hardware?

TIA,

John Howland


In practical terms, the uptake is "surprisingly poor".

That means, when you buy a 16C 32T process, that's largely
going to be a waste.

On tools that are multi-threaded, not all functions are that
way. Some are single, and some are multi.

Take 7ZIP. It's native format (.7z) is multithreaded, but *only*
on compression, not on decompression. If you look at GZIP
compression in the tool, it is single threaded (even though
the PIGZ program showed how to do a couple threads).

When you're working on video, if the CODEC was MJPEG, then
every core can be given an MJPEG frame to compress. That
means you get a linear speedup. An AVI with MJPEG CODEC, flies.
Many other video types, not so much.

Now, take a tougher CODEC to crack. The CinePak codec is only
single threaded. And to boot, the code is also slow as molasses.
It operates at maybe 1/60th of real time when compressing. On that
one, you start N separate movie compressions, each one using 1 core,
to get the best usage of your N-core processor. The reason that's
feasible, is the movie can be losslessly joined later without
recompression, as long as each movie segment ends on a Group-Of-Pictures.

Most games, have a "boss" thread, and helper threads. And a good
game has the "boss" thread at 100%, and each helper thread uses
about 30% of a core. A dual core pretty well meets the load. If you
had a 16C processor, there's going to be a lot of idle cores there.

So if you're going to own beastly CPUs, you have to be a good
multitasker, and start three or four movie renders going at the
same time. To get your value from the thing.

Otherwise, a 4790K or a 7700K or whatever costs $350 these
days, is more likely to be the right processor for you.

Even the Windows OS is pretty sleazy. They don't mention
this in the documentation anywhere, but they "reserve" a good
portion of the CPU for your usage. Then, when you command
Windows Defender to scan your hard drive, it doesn't work
as hard as it could. Maybe it uses 1/4 to 1/3 of cores. There
are *lots* of Windows things, that do this. And it's very
annoying. If you're going to annoy me, take all the cores,
and finish the nuisance activity as quickly as possible,
and I'll walk away until it is done. This "skulking" approach
to irritating users, really sucks!

So if you own a 16C processor in such a situation, a quarter of
that would be four cores, and you might get Windows Defender
using four cores to scan. But that's a pretty expensive way
to speed up Windows maintenance activity.

Photoshop, the filters are split. Half are multi-threaded,
half are single-threaded. The multi-threaded ones will
scream, when you give them 16 cores. The single-threaded
ones, not so much... Overall, I'm sure the Creative Cloud
suite, will get some benefit.

But there's really no consistency to any of this. You're
betting on a pile of "corner cases". Rather than generous
mainstream support.

And this is true of more than CPUs. Just about every whizzy
piece of hardware out there, is a hood ornament. There are
very few items where I would give them an unreserved
recommendation. It used to be different, years ago.
Like, if you had a 300MHz cacheless Celeron, and you
saw a 1400MHz Tualatin for sale, yes, I would have
recommended that, and you would not have been disappointed.
The days of stuff like that happening, are gone.

Paul
  #3  
Old June 24th 17, 07:28 AM posted to alt.comp.hardware.pc-homebuilt
Flasherly[_2_]
external usenet poster
 
Posts: 2,407
Default Is there consumer s/w available now that uses multi-core CPUs?

On Sat, 24 Jun 2017 03:57:13 -0000 (UTC), "Yes"
wrote:

Maybe OT, but given the thread about future CPUs, is there consumer
software now that actually uses the multi-core CPU technology? I mean,
all the additional cores sounds nice, but has any consumer s/w caught
up with the hardware?


A good promotion point, at least for consumers consuming programs;- if
it's free as well, beating having to pay money, I suppose, to be
consumed and caught up by presumably more than the sound of it.
....Something along an old Unix joke, about going places with 3 people
and 3 operating systems:

1- I run DOS from the command line prompt, in working directly with
machine registers, limited mapped-charters. And I drive a Chevy 6.

2- I run from a Windows bitmapped graphic user interface. And I drive
a new Cadillac V8.

3-I run *NIX and compile my own. I'd as soon rather walk.

-
(Standard Mileage Disclaimer- Some people wouldn't think that's in
the least funny.)
  #4  
Old June 24th 17, 04:17 PM posted to alt.comp.hardware.pc-homebuilt
Mr. Man-wai Chang
external usenet poster
 
Posts: 697
Default Is there consumer s/w available now that uses multi-core CPUs?

On 24/6/2017 11:57 AM, Yes wrote:
Maybe OT, but given the thread about future CPUs, is there consumer
software now that actually uses the multi-core CPU technology? I mean,
all the additional cores sounds nice, but has any consumer s/w caught
up with the hardware?


Games! Do you play those 3D DirectX games? And video making and photo
editing!

--
@~@ Remain silent! Drink, Blink, Stretch! Live long and prosper!!
/ v \ Simplicity is Beauty!
/( _ )\ May the Force and farces be with you!
^ ^ (x86_64 Ubuntu 9.10) Linux 2.6.39.3
不借貸! 不詐騙! 不援交! 不打交! 不打劫! 不自殺! 請考慮綜援 (CSSA):
http://www.swd.gov.hk/tc/index/site_...sub_addressesa
  #5  
Old June 24th 17, 04:57 PM posted to alt.comp.hardware.pc-homebuilt
John Doe[_9_]
external usenet poster
 
Posts: 410
Default Is there consumer s/w available now that uses multi-core CPUs?

"Yes" wrote:

Maybe OT, but given the thread about future CPUs, is there
consumer software now that actually uses the multi-core CPU
technology? I mean, all the additional cores sounds nice,
but has any consumer s/w caught up with the hardware?


Your premise is invalid. In addition to a jillion Windows
background processes, users almost always have many of their
own programs going at the same time. We are never talking
about just one program, let alone a single thread.

Obviously you are concerned with processing power, so the
question is whether you want few faster cores or many slower
cores. You need to specify the applications in order to
receive a valid answer. I think the best answer is found by
asking people who use the applications you plan to use.

I have not bothered looking to see whether my modern quad
core eight thread CPU is filling up all cores and virtual
threads, because I have no doubt it is efficiently using all
of them. Multicore CPUs have been around for decades. Windows
and the CPU itself, not an individual program, controls the
use of cores.
  #6  
Old June 24th 17, 06:26 PM posted to alt.comp.hardware.pc-homebuilt
Paul[_28_]
external usenet poster
 
Posts: 1,467
Default Is there consumer s/w available now that uses multi-core CPUs?

John Doe wrote:

Multicore CPUs have been around for decades. Windows
and the CPU itself, not an individual program, controls the
use of cores.


That's not true.

Photoshop was the first program to use multiple threads
of execution, in a way that a lot of end users could
experience. They made it popular.

One of the "accelerator" concepts, was a "private"
dual processor board, used only by Photoshop.
At the time, I think it ran at around 66MHz.
Your motherboard in this case, would have just
one core, but the accelerator card had two DSP
chips on it.

SuperMac ThunderStorm DSP card 66 MHZ
AT&T 3210 DSP x 2 ?
Can't find a decent picture.

An example of a modern analogous situation, would
be the usage of shaders on a video card. The main
OS scheduler doesn't schedule that activity. And I
don't even know how a video card would handle two
Windows programs doing shader-related acceleration
at the same time. Whether there is sharing or not.

In my house, Win2K was the first OS that handled more
than one socket here. You could run Photoshop on a
dual socket motherboard, and get twice the speed
on half the filters. And in that case, yes, the
OS played a part in commissioning the two CPUs
involved.

But Photoshop has dabbled with private accelerators.

Another example of a private accelerator, is a video
editing suite that uses a Toshiba "Cell" card. The
Cell card would not be visible to Windows, in a "cores
sense". The instruction set is not x86 to start with.

https://en.wikipedia.org/wiki/Cell_processor

One guy in the rec.video.desktop group, owned one of those.

Paul
  #7  
Old June 24th 17, 08:59 PM posted to alt.comp.hardware.pc-homebuilt
John Doe[_9_]
external usenet poster
 
Posts: 410
Default Is there consumer s/w available now that uses multi-core CPUs?

Paul wrote:

John Doe wrote:

Multicore CPUs have been around for decades. Windows and
the CPU itself, not an individual program, controls the
use of cores.


That's not true.


Provide citations.

Yes, a program can spawn a thread, but it does not control
the cores that the threads run on or even whether the extra
threads run concurrently. That is obvious, isn't it?
Considering the fact that if there is only one CPU with one
thread obviously multiple threads are going to run
sequentially. Windows controls that. If not Windows, the CPU.
The program doesn't dictate how many cores or virtual threads
are in use. Otherwise your program would be limited to a
certain CPU!

http://www.tomshardware.com/forum/31...-controls-core
s-used

"The operating system controls what threads are running on which cores"

https://superuser.com/questions/5829...core-to-run-on

"The app will run on whichever core the operating system
happens to choose."

Just because you can set the "affinity" in Task Manager and
because a program might be able to request Windows to use a
particular core, that does not mean doing so is a good idea.
Besides, you would have to know in advance how many cores
there are.





  #8  
Old June 24th 17, 10:42 PM posted to alt.comp.hardware.pc-homebuilt
Paul[_28_]
external usenet poster
 
Posts: 1,467
Default Is there consumer s/w available now that uses multi-core CPUs?

John Doe wrote:
Paul wrote:

John Doe wrote:

Multicore CPUs have been around for decades. Windows and
the CPU itself, not an individual program, controls the
use of cores.

That's not true.


Provide citations.

Yes, a program can spawn a thread, but it does not control
the cores that the threads run on or even whether the extra
threads run concurrently. That is obvious, isn't it?
Considering the fact that if there is only one CPU with one
thread obviously multiple threads are going to run
sequentially. Windows controls that. If not Windows, the CPU.
The program doesn't dictate how many cores or virtual threads
are in use. Otherwise your program would be limited to a
certain CPU!

http://www.tomshardware.com/forum/31...-controls-core
s-used

"The operating system controls what threads are running on which cores"

https://superuser.com/questions/5829...core-to-run-on

"The app will run on whichever core the operating system
happens to choose."

Just because you can set the "affinity" in Task Manager and
because a program might be able to request Windows to use a
particular core, that does not mean doing so is a good idea.
Besides, you would have to know in advance how many cores
there are.


The program can still pick which cores the program runs on.

I have a program here which does this.

DScaler has two threads it wants to run. For best
performance, the designer doesn't want the threads to
ever run on the same core. Therefore, the program selects
"run this thread of execution on the highest numbered core,
run this other thread of execution on the lowest numbered
core". Which tells you that programs have access to
Affinity control, just as much as Task Manager does.

On a Hyperthreaded CPU, like a P4, it would run on 0 and 1.
On a Q6600, maybe it would run on 0 and 3. So rather than
pick a particular number, the designer of the program had one
thread run on the "highest core" and the designer did the math
to make that happen. Don't ask me what happens if you
use Task Manager and tick two different boxes :-) Changing
affinity or priority settings, can have consequences,
and there is no guarantee of stability after mucking about.

The OS *can*, in a fully automated way, select what
cores and when to run a process. But application
software, or even Task Manager settings, can change that.

In a way, it's like Windows sound. Everybody assumes the sound
can only come out of the speakers, or out of the headphones,
but not both. The System Mixer is set up to drive one set of
outputs. However, programs such as WinAmp, the developer did
the extra work, to use the feature where the System Mixer is
bypassed, and all of the hardware is then available for usage.
Windows doesn't actually "enforce" the restrictive model,
but for lazy developers, they get "instant sound" with one
call and they're all done and home for dinner.

In some cases, this ability to adjust things is important,
for example, when the OS gets the metrics for running
programs all wrong. There is currently a situation
where an 8C 16T Ryzen CPU is being viewed as a 16C
processor. Performance suffers, because too many
threads are launched. A means is needed to intervene,
and you could, for example, use the Affinity tick boxes
to change the behavior slightly. Notice that the AMD
rep ("evangelist"), just "blows off" this issue.

https://www.pcgamesn.com/amd/amd-ryz...10-performance

There is also a program, a "launcher", which launches
old games, so that they can only "see" one core. And
this permits the games to run properly without crashing.
That would be an example of a program that fiddles
the affinity at launch.

This isn't the program I was thinking of. There is more
than one of these programs. This program would be suited
for running a game that isn't thread-safe for some reason,
and really needs to be fooled into running on the same
core during the entire game.

https://robpol86.com/imagecfg.html

I could go into some of the nuances of scheduling, but
you may also be able to find web articles with the same info.
This is an example of a site that occasionally
has interesting articles.

http://ixbtlabs.com/articles2/cpu/rmma-numa.html

http://ixbtlabs.com/articles2/cpu/rmma-numa2.html

The more modern OSes are supposed to be able to tell the
plumbing apart, use the right metrics (so processes
are not migrated needlessly to places which would
be "more expensive"). Yet, even today, we still read
stories about the OS getting it wrong. Leaving the
impression that the OS lashup isn't anything more
than a set of custom configurations for known
hardware anomalies (Bulldozer comes to mind).

The marketing departments of the processor companies,
don't want us to know that stuff in any detail.
Which is why the info seems so embarrassing when
users discover it. It's not that the info is a surprise,
it's that it wasn't revealed in an up-front way. With
a schedule as to how it would be resolved, when the
patch will come out. Bulldozer was patched, but
the performance gain wasn't earth-shattering.

Microsoft has already given their opinion on the
matter, with their blanket term "support for CPU X"
policy. Whereas Intel and AMD generally skulk under
their respective rocks, when it comes to the OS
not meshing with the hardware they've designed.

I've learned some amazing things from some of the
better technical websites. For example, the early
Hyperthreading on the P4, was actually broken.
But, because the stalling issue resolved before
it got to the millisecond level, users were
totally unaware what was going on :-) My jaw
dropped when I was reading the techniques they
were using for testing, and I couldn't figure out
where the got the "hint" to even look for it.
So some of these guys, have a thing or two they
could teach us. Some of the people on these
sites, are architecture-class, and not just
"game review monkeys".

Paul
  #9  
Old June 24th 17, 11:00 PM posted to alt.comp.hardware.pc-homebuilt
John Doe[_9_]
external usenet poster
 
Posts: 410
Default Is there consumer s/w available now that uses multi-core CPUs?

Paul wrote:

John Doe wrote:
Paul wrote:
John Doe wrote:

Multicore CPUs have been around for decades. Windows and
the CPU itself, not an individual program, controls the
use of cores.


That's not true.


Provide citations.

Yes, a program can spawn a thread, but it does not control
the cores that the threads run on or even whether the
extra threads run concurrently. That is obvious, isn't it?
Considering the fact that if there is only one CPU with
one thread obviously multiple threads are going to run
sequentially. Windows controls that. If not Windows, the
CPU. The program doesn't dictate how many cores or virtual
threads are in use. Otherwise your program would be
limited to a certain CPU!

http://www.tomshardware.com/forum/31...-controls-core s-used

"The operating system controls what threads are running on
which cores"

https://superuser.com/questions/5829...core-to-run-on

"The app will run on whichever core the operating system
happens to choose."

Just because you can set the "affinity" in Task Manager
and because a program might be able to request Windows to
use a particular core, that does not mean doing so is a
good idea. Besides, you would have to know in advance how
many cores there are.


The program can still pick which cores the program runs on.


The OS *can*, in a fully automated way, select what cores
and when to run a process. But application software, or
even Task Manager settings, can change that.


Yes, but that has little to do with real computing.

You should have put the emphasis on the latter part instead
of the former part. Windows DOES by default without program
or user interaction determine which cores threads run on.

You should know it would be silly otherwise. Imagine if
programs decided for themselves, you could have all programs
wanting to use the first core. Of course that would make no
sense whatsoever. It goes hard against logic to think that
way. There is no reason, without being clairvoyant, for a
programmer to insist on using a particular core. Of course
talking about software most of us use.

1. The programmer does not know how many cores you have.

2. The programmer does not know what other programs might
want to use that particular core.

You need to provide citations, your logic is failing on this
issue. The only question is how many threads does a program
want to use. And even that is defeated, depending on how few
cores the user has.

I could go into some of the nuances of scheduling


In other words... If you cannot dazzle them with brilliance,
baffle them with bull****.







--


In a way, it's like Windows sound. Everybody assumes the
sound can only come out of the speakers, or out of the
headphones, but not both. The System Mixer is set up to
drive one set of outputs. However, programs such as WinAmp,
the developer did the extra work, to use the feature where
the System Mixer is bypassed, and all of the hardware is
then available for usage. Windows doesn't actually
"enforce" the restrictive model, but for lazy developers,
they get "instant sound" with one call and they're all done
and home for dinner.

In some cases, this ability to adjust things is important,
for example, when the OS gets the metrics for running
programs all wrong. There is currently a situation where an
8C 16T Ryzen CPU is being viewed as a 16C processor.
Performance suffers, because too many threads are launched.
A means is needed to intervene, and you could, for example,
use the Affinity tick boxes to change the behavior
slightly. Notice that the AMD rep ("evangelist"), just
"blows off" this issue.

https://www.pcgamesn.com/amd/amd-ryz...-10-performanc
e

There is also a program, a "launcher", which launches old
games, so that they can only "see" one core. And this
permits the games to run properly without crashing. That
would be an example of a program that fiddles the affinity
at launch.

This isn't the program I was thinking of. There is more
than one of these programs. This program would be suited
for running a game that isn't thread-safe for some reason,
and really needs to be fooled into running on the same core
during the entire game.

https://robpol86.com/imagecfg.html

I could go into some of the nuances of scheduling, but you
may also be able to find web articles with the same info.
This is an example of a site that occasionally has
interesting articles.

http://ixbtlabs.com/articles2/cpu/rmma-numa.html

http://ixbtlabs.com/articles2/cpu/rmma-numa2.html

The more modern OSes are supposed to be able to tell the
plumbing apart, use the right metrics (so processes are not
migrated needlessly to places which would be "more
expensive"). Yet, even today, we still read stories about
the OS getting it wrong. Leaving the impression that the OS
lashup isn't anything more than a set of custom
configurations for known hardware anomalies (Bulldozer
comes to mind).

The marketing departments of the processor companies, don't
want us to know that stuff in any detail. Which is why the
info seems so embarrassing when users discover it. It's not
that the info is a surprise, it's that it wasn't revealed
in an up-front way. With a schedule as to how it would be
resolved, when the patch will come out. Bulldozer was
patched, but the performance gain wasn't earth-shattering.

Microsoft has already given their opinion on the matter,
with their blanket term "support for CPU X" policy. Whereas
Intel and AMD generally skulk under their respective rocks,
when it comes to the OS not meshing with the hardware
they've designed.

I've learned some amazing things from some of the better
technical websites. For example, the early Hyperthreading
on the P4, was actually broken. But, because the stalling
issue resolved before it got to the millisecond level,
users were totally unaware what was going on :-) My jaw
dropped when I was reading the techniques they were using
for testing, and I couldn't figure out where the got the
"hint" to even look for it. So some of these guys, have a
thing or two they could teach us. Some of the people on
these sites, are architecture-class, and not just "game
review monkeys".

Paul


  #10  
Old June 25th 17, 03:16 AM posted to alt.comp.hardware.pc-homebuilt
[email protected]
external usenet poster
 
Posts: 220
Default Is there consumer s/w available now that uses multi-core CPUs?

On Sunday, June 25, 2017 at 1:26:14 AM UTC+8, Paul wrote:

One of the "accelerator" concepts, was a "private"
dual processor board, used only by Photoshop.
At the time, I think it ran at around 66MHz.
Your motherboard in this case, would have just
one core, but the accelerator card had two DSP
chips on it.

SuperMac ThunderStorm DSP card 66 MHZ
AT&T 3210 DSP x 2 ?
Can't find a decent picture.


Back in late 80s, I worked on a PC that had an "array processor" plugged
into a slot, as the host was a Compaq 486, far too slow to do the math.
I think that array processor was rated at 8 MegaFLOPS (about 1/10 of
a Pentium III).
 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Dual Core - 2 CPUs? [email protected] General 3 September 3rd 13 01:03 AM
Best Multi-chip multi-core mobo question Mike[_7_] General 4 May 14th 07 08:11 AM
Is Core 2 Duo always faster than non-Core 2 Duo CPUs? jmDesktop Dell Computers 14 February 7th 07 07:47 PM
Are dual core CPUs worth it? Random Person General 20 September 2nd 05 09:10 PM
AMD's 90nm 1-core CPUs: who's on first? Felger Carbon General 4 May 6th 05 05:34 PM


All times are GMT +1. The time now is 04:13 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright 2004-2024 HardwareBanter.
The comments are property of their posters.