• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

AMD Announces Radeon RX 5700 Based on Navi: RDNA, 7nm, PCIe Gen4, GDDR6

And 2080 is compatible with 11 years old CUDA.
And, wait for it, Zen2 is compatible with 39 years old x86!!!
And still AMD drivers are the worst at OpenGL since... ATI. They never solved it.

CUDA has a lot of driver optimization work, the ISA could be different between generations, Nvidia does the work to unify them in CUDA. You know, it's just another compute language.
 
And still AMD drivers are the worst at OpenGL since... ATI. They never solved it.
It's gotten a lot better in the Linux ecosystem since they went the open source route with the majority of their driver code. It has done AMD a lot of good on the Linux front. I'm astonished at how much my Vega 64 just works and how it works fairly well to be honest.
 
It's gotten a lot better in the Linux ecosystem since they went the open source route with the majority of their driver code. It has done AMD a lot of good on the Linux front. I'm astonished at how much my Vega 64 just works and how it works fairly well to be honest.
I would LOVE to have mesa's OpenGL driver on Windows.
 
And still AMD drivers are the worst at OpenGL since... ATI. They never solved it.
Ties with AMD, plus, minuscule part of the market affected by it and scarcity of resources are at play, I think.

But I'm not holding my breath.
Yes, just merely your eyes shut.
Not that I would expect less from someone who claimed cartels are OK, to justify nVidia.

Let me repeat it in big easy to read letters for you: ISA is there to stay, as 11 old CUDA, 7 years old GCN isn't going anywhere. As for microarchitecture, it is very apparently different even between Polaris and Vegas.
 
Last edited:
Last edited:
There's not a whole lot different between Polaris and Vega other than the 16-bit instructions
Polaris is denser. Vega is an attempt to go with sparser, higher frequency design.
There are IPC differences even between Vega 64 and VII.

CUDA isn't an ISA, PTX
Arguing about semantics. The very link you've posted is titled "CuDA toolkit"

It is unknown what Navi adds that Vega doesn't have
In terms of instruction sense, what does Zen 2 add, what Zen doesn't have?

One coudl stick with the same ISA and yet have vastly different architectures on silicon level, what is there really to argue about?
 
As I said in another thread to the same claim from you CUDA is not an ISA, it is an API.

PTX is not really an ISA either - it is middleware and a virtual machine is probably the best description for it. Nvidia does not have a static ISA as such over generations, they use PTX to expose the microarchitecure in a somewhat static way. AMD's GCN has been a fairly static thing regardless of the microarchitecture underneath.
 
Polaris is denser. Vega is an attempt to go with sparser, higher frequency design.
There are IPC differences even between Vega 64 and VII.
Vega has more stages than Polaris, hence, higher frequencies.

Arguing about semantics. The very link you've posted is titled "CuDA toolkit"
Everything GPGPU programming at NVIDIA is under "CUDA" branding. CUDA is not an ISA though.

In terms of instruction sense, what does Zen 2 add, what Zen doesn't have?
Don't know yet because AMD hasn't given details about changes in Zen 2.

PTX is not really an ISA either - it is middleware and a virtual machine is probably the best description for it. Nvidia does not have a static ISA as such over generations, they use PTX to expose the microarchitecure in a somewhat static way. AMD's GCN has been a fairly static thing regardless of the microarchitecture underneath.
All ISAs have a measure of abstraction because of the necessity to preserve backwards compatibility of high level calls.
 
Ties with AMD, plus, minuscule part of the market affected by it and scarcity of resources are at play, I think.


Yes, just merely your eyes shut.
Not that I would expect less from someone who claimed cartels are OK, to justify nVidia.

Let me repeat it in big easy to read letters for you: ISA is there to stay, as 11 old CUDA, 7 years old GCN isn't going anywhere. As for microarchitecture, it is very apparently different even between Polaris and Vegas.
Can you write that using bigger fonts? Cause that will make you even more right :D
 
The amount of people calling marketing names ISAs is too big.
 
How old is <insert "more correct" name than CUDA>?
PTX 1.0 = CUDA 1.0 = sm_{10,11}
G80 is the first GPU to use DirectX 10 (Shader Model 1.0)/CUDA 1.0 = GeForce 8800 series = first launched November 8, 2006 with 8800 GTX and GTS

PTX ISA is 12 years, 6 months, 27 days old.
 
Last edited:
As pointed out, I think NVIDIA and AMD treat their ISAs differently. AMD names ISAs by literally the instructions it supports where NVIDIA never discloses the machine ISA and instead runs everything through a virtual machine that accepts PTX. AMD uses their drivers to smooth over compatibility problems between ISAs not unlike NVIDIA does with PTX. I think one of the reasons why the open source community has problems with NVIDIA is because they never disclose the actual machine code the GPUs support; they only provide documentation on PTX which requires a good driver (which open source developers can't create) in order to function as designed. Open source is at NVIDIA's mercy and they don't really care outside of AI/compute products.

AMD makes most of their ISAs available here:
 
Last edited:
As pointed out, I think NVIDIA and AMD treat their ISAs differently. AMD names ISAs by literally the instructions it supports where NVIDIA never discloses the machine ISA and instead runs everything through a virtual machine that accepts PTX.
And we have successfully deviated from AMD mixing GCN+Navi and pure Navi under the same GPU family to "what is an ISA". GJ medi.
 
All we know from driver is that it's a new compute unit (GFX10). Until AMD gives more information, we don't know how significant the changes are. GCN has a fairly rigid architectural layout which Vega, despite being called "Next-Generation Compute Unit," still stuck to that layout (page 9). RDNA may be divorced from GCN but it also may not be.
 
Last edited:
All we know from driver is that it's a new compute unit (GFX10). Until AMD gives more information, we don't know how significant the changes are. GCN has a fairly rigid architectural layout which Vega, despite being called "Next-Generation Compute Unit," it still stuck to that layout. RDNA may be divorced from GCN but it also may not be.
You're right of course. The mixing of architectures is nothing but a rumor at this point.
 
All ISAs have a measure of abstraction because of the necessity to preserve backwards compatibility of high level calls.
The lines between what is an ISA and API are more and more difficult to draw, there is a lot of grey area here. ISA is architecture, the big picture, what the building blocks of a chip (GPU in this case) are designed for, instructions and whatnot. Underneath it is microarchitecture that implements the ISA/architecture and while the problems it solves are defined by ISA, implementation may differ completely. On the other side of things ISA is used to implement APIs.

Again, there are grey areas all around it but at a high level:
- From what we know AMD's GCN is a fairly by-the-book ISA on GCN cards. Not completely so but generally this is the case.
- Nvidia has been deliberately unclear about what their actual hardware ISA looks like for every generation. It is exposed almost exclusively via PTX that is effectively the ISA for Nvidia cards but not what the hardware itself does as PTX is a VM layer above hardware. I am sure there are drawbacks to this approach, more complex software/driver development being the obvious one.
 
The lines between what is an ISA and API are more and more difficult to draw, there is a lot of grey area here.
Quite the opposite, actually: https://en.wikipedia.org/wiki/Instruction_set_architecture

An instruction set architecture (ISA) is an abstract model of a computer. It is also referred to as architecture or computer architecture. A realization of an ISA is called an implementation.

In the GPU world, you can't do radical change of the silicon (implementation) while keeping the same instruction set. You can't use the hardware judiciously if you do that.
That hold mostly true for CPUs as well. x86 has been done to death and beyond, but ever since the inclusion of the FPU onto the CPU, CPUs have advanced not by revolutionizing the x86 implementation*, but by implementing complementary instruction sets: x87, MMX, SSE, AVX in their various incarnations.

*doesn't mean the x86 implementation hasn't been refined in the meantime, just that it wasn't the only advancement vector anymore
 
As pointed out, I think NVIDIA and AMD treat their ISAs differently. AMD names ISAs by literally the instructions it supports where NVIDIA never discloses the machine ISA and instead runs everything through a virtual machine that accepts PTX. AMD uses their drivers to smooth over compatibility problems between ISAs not unlike NVIDIA does with PTX. I think one of the reasons why the open source community has problems with NVIDIA is because they never disclose the actual machine code the GPUs support; they only provide documentation on PTX which requires a good driver (which open source developers can't create) in order to function as designed. Open source is at NVIDIA's mercy and they don't really care outside of AI/compute products.

Don't even CPUs have, cough, "micro code"?
 
Yup, instructions are decoded into ALU/FPU/SIMD operation codes which are executed. The vast majority of them are not directly accessible nor would you want to because they would be like throwing wrenches in the processor.
 
That is the definition of architecture vs microarchitecture. Architecture (and ISA) is x86 while microarchitecture (implementation) varies.
 
What are the reasons to believe AMD executes GCN instructions directly, instead of decoding them into micro-arch specific "opcodes", like nVidia, Intel and, hold on, AMD itself with AMD CPUs?

And if they don't, how on earth does one know what micro-arch is used by AMD?
 
What are the reasons to believe AMD executes GCN instructions directly, instead of decoding them into micro-arch specific "opcodes", like nVidia, Intel and, hold on, AMD itself with AMD CPUs?
And if they don't, how on earth does one know what micro-arch is used by AMD?
AMD is being rather stingy on architectural details, even more so than Nvidia. The consensus is though that ISA used on AMD GPUs is GCN (or variation of it) being called directly enough in the hardware.

Both architecture/microarchitecture and ISA/implementation are hardware things. Above that are varying layers of APIs, usually in software, sometimes in firmware. The reason this whole thing was brought up was your claim that CUDA is Nvidia's ISA which is patently incorrect. CUDA is an API (and a specialized one at that), PTX is still an API but a lower level one and while Nvidia is not being too clear about it PTX seems to be brought to life to hide ISA changes between GPU generations. Nvidia has never been forthcoming about what the ISA for their GPUs really is.
 
Last edited:
Back
Top