This introduces the kernel environment which contains information passed
by the compiler to a GPU kernel. For now it just encapsulated the
ident_t object that we passed explicitly before but we will add more
content, including mutable content, later on.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Move more values into the kernel environment (and configuration environment), update tests
Comment Actions
the kernel environment which contains information passed by the compiler to a GPU kernel.
DId you mean this environment is baked into kernel at compile time? So there is no additional H2D cost at each call, right?
Comment Actions
Yes, this environment is a constant fed into the kernel at compile time.
It will allow us to pass more information, e.g., if you want to support sequentialiazed parallel regions, in a way that caused the "feature" to be removed during compilation.
It also allows us to communicate dynamic information in a way that will make us pay for it only if we "enable" it, e.g., if you don't want printf support on AMDGPU you don't have to pay for a buffer.