[Dwarf-Discuss] modeling different address spaces
Metzger, Markus T
markus.t.metzger@intel.com
Mon Jul 20 13:58:32 GMT 2020
Hello Todd,
> They use DW_AT_address_class with a CUDA-specific enum of address spaces,
> with
> values for things like: global memory, shared memory, const memory, etc. They
> don't attach these attributes to subroutines, because all the code on that
> architecture is in a single "code" memory. They do attach them to pointer
> types, as the DWARF spec describes. They also attach them to variables,
> formals, etc. That's a vendor extension (which I'd forgotten until I looked it
> up again in the DWARF spec). But an obvious one. We might want to formalize it
> at some point.
>
> Anyway, these are the sorts of things we see:
>
> DW_TAG_pointer_type
> DW_AT_type : ...
> DW_AT_address_class : ptxGenericStorage
>
> DW_TAG_variable
> DW_AT_name : myConstant
> DW_AT_type : ...
> DW_AT_location : ...
> DW_AT_address_class : ptxConstStorage
>
> DW_TAG_variable
> DW_AT_abstract_origin : ...
> DW_AT_location : ...
> DW_AT_address_class : ptxLocalStorage
>
> I don't know your architecture, but I'd expect something similar to work for any
> GPU with heterogeneous memories.
That looks good to me. And I agree that it would be very nice if the extension to
attach this attribute to variables were formalized.
Thanks,
Markus.
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Gary Kershaw
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928
More information about the Dwarf-discuss
mailing list