cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

tementy
Journeyman III

AMD Radeon Stack Allocation

Hello, i've started learning low-level gpu computing concepts using AMD IL and ISA documentation. And I have question about address stack allocation: in which kind of memory it is allocated (lds, gds, registers, something special)? and how fast this memory is?

IL documentation provides only this information:

address stack (glossary):

A stack that contains only addresses (no other state). Used for flow control. Popping the address stack overrides the instruction address field of a flow control instruction. The address stack is only modified if the flow control instruction decides to jump.

ISA documentation doesn't give answers for this questions too (maybe I couldn't quite catch them?). I've found information only about push/pop mechanisms and maximal call deepness = 32.

I'm working on my own compiler for GPUs, and this information can help me to handle calls (and recursion) in most efficient way.

Thank you, and sorry for my poor english. 🙂

0 Likes
1 Reply

tementy,
The stack built into the hardware is not normal memory or registers. It is a special part of the hardware that handles this specific function.
0 Likes