|
Neko 1.99.9
A portable framework for high-order spectral element flow simulations
|


Go to the source code of this file.
Classes | |
| struct | ax_helm_compr_mfma_dispatch< T, LX, NWF, TILE > |
| struct | ax_helm_compr_mfma_vector_dispatch< T, LX, NWF, TILE > |
Functions | |
| template<typename T , const int LX, const int CHUNKS> | |
| __global__ void | ax_helm_compr_kernel_1d (T *__restrict__ w, const T *__restrict__ u, const T *__restrict__ dx, const T *__restrict__ dy, const T *__restrict__ dz, const T *__restrict__ dxt, const T *__restrict__ dyt, const T *__restrict__ dzt, const T *__restrict__ h1, const T *__restrict__ g11, const T *__restrict__ g22, const T *__restrict__ g33, const T *__restrict__ g12, const T *__restrict__ g13, const T *__restrict__ g23, const int *__restrict__ ind) |
| template<typename T , const int LX, const int EB> | |
| __global__ void | __launch_bounds__ ((LX *LX *EB)) ax_helm_compr_kernel_kstep(T *__restrict__ w |
| if (eb==0) | |
| for (int k=0;k< LX;++k) | |
| __syncthreads () | |
| if (active) | |
| template<typename T , const int LX, const int NWF, const int TILE> | |
| __global__ void | __launch_bounds__ (64 *NWF) ax_helm_compr_kernel_mfma(T *__restrict__ w |
| __global__ void __launch_bounds__ | ( | (LX *LX *EB) | ) |
Device kernel for axhelm with padding in shared memory to remove bank conflicts when LX is a power of 2
| __global__ void __launch_bounds__ | ( | 64 * | NWF | ) |

| __syncthreads | ( | ) |
| __global__ void ax_helm_compr_kernel_1d | ( | T *__restrict__ | w, |
| const T *__restrict__ | u, | ||
| const T *__restrict__ | dx, | ||
| const T *__restrict__ | dy, | ||
| const T *__restrict__ | dz, | ||
| const T *__restrict__ | dxt, | ||
| const T *__restrict__ | dyt, | ||
| const T *__restrict__ | dzt, | ||
| const T *__restrict__ | h1, | ||
| const T *__restrict__ | g11, | ||
| const T *__restrict__ | g22, | ||
| const T *__restrict__ | g33, | ||
| const T *__restrict__ | g12, | ||
| const T *__restrict__ | g13, | ||
| const T *__restrict__ | g23, | ||
| const int *__restrict__ | ind | ||
| ) |
Device kernels for Ax helm on compressed geometric factors
Derived mechanically from ax_helm_kernel.h, and a change to one belongs in the other. Every strategy there is here – 1d at every chunk candidate, kstep and kstep_padded at every elements per block candidate, the matrix core kernels at every wavefront and tile candidate, scalar and vector – with one difference: element e reads its geometric factors g11..g23 from copy ind[e] - 1, ind holding the 1-based copy indices of coef_t::compression_inds. u, h1 and the outputs stay indexed by e, and in the blocked and matrix core kernels each element of the block looks up its own copy.
Definition at line 56 of file ax_helm_compr_kernel.h.

| for | ( | ) |
| if | ( | active | ) |
| if | ( | eb | = = 0 | ) |
Definition at line 222 of file ax_helm_compr_kernel.h.
Definition at line 212 of file ax_helm_compr_kernel.h.
| __global__ void T* __restrict__ av |
Definition at line 781 of file ax_helm_compr_kernel.h.
| __global__ void T* __restrict__ T* __restrict__ aw |
Definition at line 782 of file ax_helm_compr_kernel.h.
| __global__ void T* __restrict__ T* __restrict__ const T* __restrict__ const T* __restrict__ const T* __restrict__ const T* __restrict__ dx |
Definition at line 169 of file ax_helm_compr_kernel.h.
| __global__ void T* __restrict__ T* __restrict__ const T* __restrict__ const T* __restrict__ const T* __restrict__ const T* __restrict__ const T* __restrict__ dy |
Definition at line 170 of file ax_helm_compr_kernel.h.
| __global__ void T* __restrict__ T* __restrict__ const T* __restrict__ const T* __restrict__ const T* __restrict__ const T* __restrict__ const T* __restrict__ const T* __restrict__ dz |
Definition at line 171 of file ax_helm_compr_kernel.h.
| const int e_blk = blockIdx.x * EB + eb |
Definition at line 211 of file ax_helm_compr_kernel.h.
Definition at line 210 of file ax_helm_compr_kernel.h.
Definition at line 173 of file ax_helm_compr_kernel.h.
Definition at line 176 of file ax_helm_compr_kernel.h.
Definition at line 177 of file ax_helm_compr_kernel.h.
Definition at line 174 of file ax_helm_compr_kernel.h.
Definition at line 178 of file ax_helm_compr_kernel.h.
Definition at line 175 of file ax_helm_compr_kernel.h.
Definition at line 172 of file ax_helm_compr_kernel.h.
| const int i = threadIdx.x |
Definition at line 215 of file ax_helm_compr_kernel.h.
Definition at line 179 of file ax_helm_compr_kernel.h.
Definition at line 214 of file ax_helm_compr_kernel.h.
Definition at line 180 of file ax_helm_compr_kernel.h.
Definition at line 201 of file ax_helm_compr_kernel.h.
| T rut |
Definition at line 203 of file ax_helm_compr_kernel.h.
Definition at line 836 of file ax_helm_compr_kernel.h.
Definition at line 833 of file ax_helm_compr_kernel.h.
| T rvt |
Definition at line 841 of file ax_helm_compr_kernel.h.
Definition at line 837 of file ax_helm_compr_kernel.h.
Definition at line 202 of file ax_helm_compr_kernel.h.
| T rwt |
Definition at line 842 of file ax_helm_compr_kernel.h.
Definition at line 838 of file ax_helm_compr_kernel.h.
| __shared__ T shdy[LX *(LX+1)] |
Definition at line 184 of file ax_helm_compr_kernel.h.
| __shared__ T shdz[LX *(LX+1)] |
Definition at line 185 of file ax_helm_compr_kernel.h.
| __shared__ T shu[EB *LX *(LX+1)] |
Definition at line 188 of file ax_helm_compr_kernel.h.
| __shared__ T shur[EB *LX *LX] |
Definition at line 189 of file ax_helm_compr_kernel.h.
| __shared__ T shus[EB *LX *(LX+1)] |
Definition at line 190 of file ax_helm_compr_kernel.h.
| __shared__ T shv[EB *LX *(LX+1)] |
Definition at line 809 of file ax_helm_compr_kernel.h.
| __shared__ T shvr[EB *LX *LX] |
Definition at line 810 of file ax_helm_compr_kernel.h.
| __shared__ T shvs[EB *LX *(LX+1)] |
Definition at line 811 of file ax_helm_compr_kernel.h.
| __shared__ T shw[EB *LX *(LX+1)] |
Definition at line 813 of file ax_helm_compr_kernel.h.
| __shared__ T shwr[EB *LX *LX] |
Definition at line 814 of file ax_helm_compr_kernel.h.
| __shared__ T shws[EB *LX *(LX+1)] |
Definition at line 815 of file ax_helm_compr_kernel.h.
Definition at line 168 of file ax_helm_compr_kernel.h.
Definition at line 784 of file ax_helm_compr_kernel.h.
| __global__ void T* __restrict__ T* __restrict__ const T* __restrict__ const T* __restrict__ const T* __restrict__ w |
Definition at line 785 of file ax_helm_compr_kernel.h.