AMD Radeon Stack Allocation

Discussion created by tementy on Sep 21, 2011
Latest reply on Sep 22, 2011 by MicahVillmow

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. :)