diff --git a/opm/simulators/linalg/gpuistl/OpmGpuILU0.cpp b/opm/simulators/linalg/gpuistl/OpmGpuILU0.cpp index 99022b2f6db..3958ac75fe4 100644 --- a/opm/simulators/linalg/gpuistl/OpmGpuILU0.cpp +++ b/opm/simulators/linalg/gpuistl/OpmGpuILU0.cpp @@ -190,7 +190,7 @@ OpmGpuILU0::apply(X& v, const Y& d, int lowerSolveThreadBlockSize, i v.data(), upperSolveThreadBlockSize); } - if (m_mixedPrecisionScheme == MixedPrecisionScheme::STORE_ENTIRE_FACTORIZATION_AS_FLOAT) { + if (m_mixedPrecisionScheme == MixedPrecisionScheme::STORE_ONLY_FACTORIZED_DIAGONAL_AS_DOUBLE) { detail::ILU0::solveUpperLevelSetSplit( m_gpuMatrixReorderedUpperFloat->getNonZeroValues().data(), m_gpuMatrixReorderedUpperFloat->getRowIndices().data(), diff --git a/opm/simulators/linalg/gpuistl/detail/preconditionerKernels/ILU0Kernels.cu b/opm/simulators/linalg/gpuistl/detail/preconditionerKernels/ILU0Kernels.cu index 9d028c92351..b3617a66b15 100644 --- a/opm/simulators/linalg/gpuistl/detail/preconditionerKernels/ILU0Kernels.cu +++ b/opm/simulators/linalg/gpuistl/detail/preconditionerKernels/ILU0Kernels.cu @@ -505,18 +505,16 @@ LUFactorizationSplit(InputScalar* srcReorderedLowerMat, template void LUFactorizationSplit( \ T*, int*, int*, T*, int*, int*, T*, double*, double*, double*, int*, int*, const int, int, int); -INSTANTIATE_KERNEL_WRAPPERS(float, 1); -INSTANTIATE_KERNEL_WRAPPERS(float, 2); -INSTANTIATE_KERNEL_WRAPPERS(float, 3); -INSTANTIATE_KERNEL_WRAPPERS(float, 4); -INSTANTIATE_KERNEL_WRAPPERS(float, 5); -INSTANTIATE_KERNEL_WRAPPERS(float, 6); -INSTANTIATE_KERNEL_WRAPPERS(double, 1); -INSTANTIATE_KERNEL_WRAPPERS(double, 2); -INSTANTIATE_KERNEL_WRAPPERS(double, 3); -INSTANTIATE_KERNEL_WRAPPERS(double, 4); -INSTANTIATE_KERNEL_WRAPPERS(double, 5); -INSTANTIATE_KERNEL_WRAPPERS(double, 6); +#define INSTANTIATE_BLOCK_SIZED_KERNEL_WRAPPERS(T) \ + INSTANTIATE_KERNEL_WRAPPERS(T, 1); \ + INSTANTIATE_KERNEL_WRAPPERS(T, 2); \ + INSTANTIATE_KERNEL_WRAPPERS(T, 3); \ + INSTANTIATE_KERNEL_WRAPPERS(T, 4); \ + INSTANTIATE_KERNEL_WRAPPERS(T, 5); \ + INSTANTIATE_KERNEL_WRAPPERS(T, 6); + +INSTANTIATE_BLOCK_SIZED_KERNEL_WRAPPERS(float) +INSTANTIATE_BLOCK_SIZED_KERNEL_WRAPPERS(double) #define INSTANTIATE_MIXED_PRECISION_KERNEL_WRAPPERS(blocksize) \ /* double preconditioner */ \