35 #ifndef __BC_DIRICHLET_KERNEL__
36 #define __BC_DIRICHLET_KERNEL__
41 template<
typename T >
47 const int idx = blockIdx.x * blockDim.x + threadIdx.x;
48 const int str = blockDim.x * gridDim.x;
50 for (
int i = (idx + 1);
i < m;
i += str) {
51 const int k = msk[
i] -1;
59 template<
typename T >
67 const int idx = blockIdx.x * blockDim.x + threadIdx.x;
68 const int str = blockDim.x * gridDim.x;
70 for (
int i = (idx + 1);
i < m;
i += str) {
71 const int k = msk[
i] -1;
__global__ void const T *__restrict__ x
__global__ void dirichlet_apply_vector_kernel(const int *__restrict__ msk, T *__restrict__ x, T *__restrict__ y, T *__restrict__ z, const T g, const int m)
__global__ void dirichlet_apply_scalar_kernel(const int *__restrict__ msk, T *__restrict__ x, const T g, const int m)