From b2143bea6445422e27995a7745b49bb0ef18c664 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Wed, 6 Jun 2018 00:08:43 +0200 Subject: [PATCH] Fix compile error with CUDA 9.2 --- .../deal.II/matrix_free/cuda_matrix_free.templates.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/include/deal.II/matrix_free/cuda_matrix_free.templates.h b/include/deal.II/matrix_free/cuda_matrix_free.templates.h index 0600dae07d..3bfc11dfcb 100644 --- a/include/deal.II/matrix_free/cuda_matrix_free.templates.h +++ b/include/deal.II/matrix_free/cuda_matrix_free.templates.h @@ -437,12 +437,16 @@ namespace CUDAWrappers const Number * src, Number * dst) { - const unsigned int cells_per_block = + constexpr unsigned int cells_per_block = cells_per_block_shmem(dim, functor::n_dofs_1d - 1); + constexpr unsigned int n_dofs_per_block = + cells_per_block * functor::n_local_dofs; + constexpr unsigned int n_q_points_per_block = + cells_per_block * functor::n_q_points; // TODO make use of dynamically allocated shared memory - __shared__ Number values[cells_per_block * functor::n_local_dofs]; - __shared__ Number gradients[dim][cells_per_block * functor::n_q_points]; + __shared__ Number values[n_dofs_per_block]; + __shared__ Number gradients[dim][n_q_points_per_block]; const unsigned int local_cell = threadIdx.x / functor::n_dofs_1d; const unsigned int cell = -- 2.39.5