Fundamental GPU Support
Files
9- Frederik Hennig authored
- Introduce GpuThreadRange and GpuKernelFunction to export the launch space expected for the kernel - Refactor GPU platforms to create and export a thread range
This MR introduces the fundamentals of GPU support to the new backend
GenericGpu
platform and threads range export: GPU platforms communicate the kernel's required thread grid size to the outside via a GpuThreadsRange
object separate from the ASTcupy
-based JIT to new backend as an object-oriented structureIn the new implementation, block size selection is entirely up to the JIT / the runtime system and no longer affects the backend. Adaptive block sizes, register restrictions, etc. are not yet implemented by this MR.
- Introduce GpuThreadRange and GpuKernelFunction to export the launch space expected for the kernel - Refactor GPU platforms to create and export a thread range