AMD's HSA .. when the same on CPUs?

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

NTMBK

Lifer
Nov 14, 2011
10,410
5,674
136
x86 perhaps. IBM POWER has had it since 1990.

Ah right, I'm not familiar with PowerPC ISAs, thanks. I guessed someone else would have implemented it before; it always seems like x86 is reinventing someone else's idea. (Usually Alpha's idea. ;) )
 

jhu

Lifer
Oct 10, 1999
11,918
9
81
Ah right, I'm not familiar with PowerPC ISAs, thanks. I guessed someone else would have implemented it before; it always seems like x86 is reinventing someone else's idea. (Usually Alpha's idea. ;) )

Funny that what with Intel having absorbed Alpha 13 years ago…
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
FMA helps a whole bundle of particular operations that are very common, that sort of algebra we see a lot in graphics and science applications. Helps get more throughput on existing cores and makes them more efficient but it alas doesn't do anything for parallel behave at a program level.

What I wish for is heterogeneous cores that can run the same program. I want lower performance x86 processors combined with higher performance more single threaded based cores combined in a machine and using the same basic concepts (threads, futures, coroutines etc) and that where it goes depends on what is free and simple hints I give to the OS about where its best placed. The current situation with HSA using this sort of vector based C like program language really restricts what we can do with it, its behind various libraries and the complexity of getting that into all the compilers is kind of mess.

I just don't see AMD/Nvidia's current processors and the way they work being how real programmers use this in the future. I think Intel has this one right, what we want is 100 low performance x86 processors that can run similar code in parallel, code that could equally run on a faster core if its available. The abstraction layer is just getting in the way of adoption and its being used only in a few places partly because of how restrictive it is to work on vector data only and partly just because the API is the wrong abstraction layer.
 

NTMBK

Lifer
Nov 14, 2011
10,410
5,674
136
FMA helps a whole bundle of particular operations that are very common, that sort of algebra we see a lot in graphics and science applications. Helps get more throughput on existing cores and makes them more efficient but it alas doesn't do anything for parallel behave at a program level.

What I wish for is heterogeneous cores that can run the same program. I want lower performance x86 processors combined with higher performance more single threaded based cores combined in a machine and using the same basic concepts (threads, futures, coroutines etc) and that where it goes depends on what is free and simple hints I give to the OS about where its best placed. The current situation with HSA using this sort of vector based C like program language really restricts what we can do with it, its behind various libraries and the complexity of getting that into all the compilers is kind of mess.

I just don't see AMD/Nvidia's current processors and the way they work being how real programmers use this in the future. I think Intel has this one right, what we want is 100 low performance x86 processors that can run similar code in parallel, code that could equally run on a faster core if its available. The abstraction layer is just getting in the way of adoption and its being used only in a few places partly because of how restrictive it is to work on vector data only and partly just because the API is the wrong abstraction layer.

Sounds like you want Intel to replace their integrated GPU with Xeon Phi cores. ;) It's not a totally ridiculous idea, since Knight's Landing and Skylake are both rumoured to use AVX 3. I imagine that the scheduler would be the tricky thing to get right.
 

Headfoot

Diamond Member
Feb 28, 2008
4,444
641
126
These alternative programming models and execution models all seem like they would be a good step forward. So hard to get these kinds of things mainstream enough to gain some steam behind them. Interestingly enough, the strangest execution models which have in fact gotten people write more efficient code which uses heterogeneous or fixed-function logic are from the consoles. It's good for PC gaming that the XboxOne and PS4 are close to PC architecture but at the same time its a little sad to see the experimentation into other execution models fall by the wayside
 

jpiniero

Lifer
Oct 1, 2010
16,417
6,881
136
The Phi is close enough in DP (as long as they have the node advantage) to be competitive, but in SP they get slaughtered. It wouldn't be really useful for an GPU, it's just too bloated.
 

Headfoot

Diamond Member
Feb 28, 2008
4,444
641
126
Well PowerPC is related to IBM's still-standing POWER server architecture (PowerPC used the same ISA originally though they have diverged greatly since). Power8 is coming soon and Power7 gave Intel's high end multi socket Xeons serious competition from a pure performance perspective (not on price though...). Power8, from what little I've read so far, seems to be a beast.

Technically there are PowerPC cores in use today. The WiiU uses 3 of them. It is much more advanced than the PowerPC cores of yore but its nowhere near a modern Intel x86 core
 
Last edited:

NTMBK

Lifer
Nov 14, 2011
10,410
5,674
136
Technically there are PowerPC cores in use today. The WiiU uses 3 of them. It is much more advanced than the PowerPC cores of yore but its nowhere near a modern Intel x86 core

Actually the WiiU's CPU is based on the good old PowerPC 750, so not exactly much more advanced...
 

norseamd

Lifer
Dec 13, 2013
13,990
180
106
meant the power cores. like the power 8.

also how much could you get from a proffessional gpgpu or xeon phi for gaming when code could be written for it. like one in a case with a display gpu and anything else you need
 

DigDog

Lifer
Jun 3, 2011
14,412
2,854
126
But the basic idea of the OP is incorrect. This stuff cannot be done in hardware until the hardware can understand the semantics of the problem statement that the code solves for, and come up with an alternate, data-parallel solution. Basically, sci-fi stuff at this point.

Ok, so right now it cannot be done. Thing is, we are going to - pretty soon - reach a point where shrinking nodes will not be practical anymore... make that even 7nm, but anything smaller and faster than that assumes that "we will soon make new discoveries and invent new technologies" which we also assume will allow us to ever continue in increasing the processing power of a cpu core. But ... that's "maybe". Or even "possibly", but not necessarily true.

So in the planning ahead, perhaps moving both hardware *and* software towards abstract multithreading is the key to the future.

To write code which helps "the hardware .. understand the semantics of the problem ", and to also have hardware specifically built for this code.

Ofc i'm just imagining this, but i don't see any other way which we can keep increasing our PC power w/o resorting to this.

So we'd have to devise code which doesn't exist yet, for a machine which can't work without it.

I mean come on this is AT, shouldn't take you guys more than a month. DO it for science/
 

mrmt

Diamond Member
Aug 18, 2012
3,974
0
76
Trying to match cores (32 vs. 32). There aren't any others not using these chips.

Why would I try to match number of cores? If anything I would try to match performance/watt, because this is what will set my cooling bill in the datacenter.
 

jhu

Lifer
Oct 10, 1999
11,918
9
81
Why would I try to match number of cores? If anything I would try to match performance/watt, because this is what will set my cooling bill in the datacenter.

Go right ahead. I await your results.
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
Ok, so right now it cannot be done. Thing is, we are going to - pretty soon - reach a point where shrinking nodes will not be practical anymore... make that even 7nm, but anything smaller and faster than that assumes that "we will soon make new discoveries and invent new technologies" which we also assume will allow us to ever continue in increasing the processing power of a cpu core. But ... that's "maybe". Or even "possibly", but not necessarily true.

So in the planning ahead, perhaps moving both hardware *and* software towards abstract multithreading is the key to the future.

To write code which helps "the hardware .. understand the semantics of the problem ", and to also have hardware specifically built for this code.

Ofc i'm just imagining this, but i don't see any other way which we can keep increasing our PC power w/o resorting to this.

So we'd have to devise code which doesn't exist yet, for a machine which can't work without it.

I mean come on this is AT, shouldn't take you guys more than a month. DO it for science/

You might not realise but computer scienctists have been working on this problem since the late 1960's. Some 50 years later it is where it stands now. Everyone wants a silver bullet and its just so easy if we all just started trying harder!
 

norseamd

Lifer
Dec 13, 2013
13,990
180
106
You might not realise but computer scienctists have been working on this problem since the late 1960's. Some 50 years later it is where it stands now. Everyone wants a silver bullet and its just so easy if we all just started trying harder!

does multithreading work if there is a master thread to control them all
 

AtenRa

Lifer
Feb 2, 2009
14,003
3,362
136
Well, people should learn to do some multitasking with their PCs. We have more than 2 cores/threads for so long now and the vast majority still only care about multithreading.

I can understand the need to resolve a single task faster but Multi-core/Multi-threaded CPUs/systems can also be used to resolve multiple tasks simultaneously.
 

NTMBK

Lifer
Nov 14, 2011
10,410
5,674
136
Well, people should learn to do some multitasking with their PCs. We have more than 2 cores/threads for so long now and the vast majority still only care about multithreading.

I can understand the need to resolve a single task faster but Multi-core/Multi-threaded CPUs/systems can also be used to resolve multiple tasks simultaneously.

Humans are bad at multitasking. Context switching kills productivity in a work situation, and ruins your concentration on and enjoyment of media such as games and films (in my experience).
 

DigDog

Lifer
Jun 3, 2011
14,412
2,854
126
*joke*
Richard Pryor invented multitasking in Superman 3
*joke*

but seriously, the amount of googling i had to do in this thread is mind-boggling

By Abstraction layer, do we mean only software controlling hardware, or also operations inbuilt into the hardware ? (like the old hard-wired OS that C64 and their like used to have)
 

NTMBK

Lifer
Nov 14, 2011
10,410
5,674
136
what are the benefits of integrating a dsp or digital radio on the apu?

There already is a DSP on the APU, TrueAudio. The benefit of integrating it with the GPU/APU is that it gets fast access to geometry data so it can accurately calculate sound based on the game world.