This PR merges Jacobi kernel code, which can be found at software/spmd/bsg_cuda_lite_runtime/jacobi/
Jacobi 3D takes an input of Nx * Ny * Nz. This implementation is unrolled along Nx, and distributes Ny and Nz along tileX and tileY respectively. So the minimal valid input is 64 * 18 * 10. Another valid input is 126 * 18 *10. Note there along Nx it reads 64 inputs and generates 62 outputs. There is overlapping between steps.
This PR merges Jacobi kernel code, which can be found at
software/spmd/bsg_cuda_lite_runtime/jacobi/
Jacobi 3D takes an input of
Nx * Ny * Nz
. This implementation is unrolled alongNx
, and distributesNy
andNz
alongtileX
andtileY
respectively. So the minimal valid input is64 * 18 * 10
. Another valid input is126 * 18 *10
. Note there alongNx
it reads 64 inputs and generates 62 outputs. There is overlapping between steps.