[RFC] Address space preserving bitcasts #9423
Conversation
In PTX land pointers live in different address spaces, depending on the type of memory you want to address. This is quote important, because the behaviour of each address space is vastly different (for example, thread-shared memory). Julia does not care about address spaces, and makes everything live in the default one (0). Worse, the global pointer type objects ( The Note that this still lacks support for setting the address space of pointers from within Julia, which is a requirement to make this functionality useful. I was thinking of parameterizing the |
f5b4460
to
9c10f3a
LGTM after rebase. |
9c10f3a
to
bd6717f
rebased |
Superseded by #17193 |
@maleadt worked towards supporting the CUDA/PTX backend in llvm in Julia. He presented his work in https://groups.google.com/forum/#!topic/julia-dev/doQUqQabC8A, because he will not be able to spend much time on it in the coming months.
I personally would like to see support for this in Julia and planned to work on something similar for the OpenCL/SPIR backend in llvm.
In order to integrate @maleadt work with upstream Julia I plan to submit PRs for separated concerns so that they can be properly discussed.
First up is address space preserving bitcasts.
@maleadt do you have time to explain shortly the rational behind this?
Cherry-picked from:
6c4fbcc and 855bb43