Jump to content

Why did amd abandon terascale?

Go to solution Solved by Mira Yurizaki,

Here's a basic summary:

  • NVIDIA was basically the king of the compute market at the time and AMD wanted in on that market
  • The VLIW architecture that was used in Terascale works well in graphics, but not in compute
  • The reason why VLIW is great for graphics is that VLIW requires a very good compiler in order to efficiently optimize a program to take advantage of how VLIW works (i.e., execute a bunch of instructions from a program at once), and graphics are simple and predictable enough for this to happen
  • The reason why VLIW is not great for compute is that compute is more variable in execution time, inputs and outputs data-wise, and there's more chance for computations needing to wait on another part of the program to finish.
  • VLIW also makes it harder to debug on the assembly level, and fine tuning for performance sometimes has to get down to that level.

tl;dr, VLIW works well for embarrassingly parallel workloads like graphics. It does not work well for compute which is not necessarily embarrassingly parallel.

I really wanna know and i cant seem to find the answer. Sure, gcn works better for dx12, but that wasnt even a blip on the radar back then. 

13700k, 3070, 32GB@3200

                   

Link to comment
Share on other sites

Link to post
Share on other sites

Here's a basic summary:

  • NVIDIA was basically the king of the compute market at the time and AMD wanted in on that market
  • The VLIW architecture that was used in Terascale works well in graphics, but not in compute
  • The reason why VLIW is great for graphics is that VLIW requires a very good compiler in order to efficiently optimize a program to take advantage of how VLIW works (i.e., execute a bunch of instructions from a program at once), and graphics are simple and predictable enough for this to happen
  • The reason why VLIW is not great for compute is that compute is more variable in execution time, inputs and outputs data-wise, and there's more chance for computations needing to wait on another part of the program to finish.
  • VLIW also makes it harder to debug on the assembly level, and fine tuning for performance sometimes has to get down to that level.

tl;dr, VLIW works well for embarrassingly parallel workloads like graphics. It does not work well for compute which is not necessarily embarrassingly parallel.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×