From d5f7b125159c6c25da2572fb1b6d3d4778752207 Mon Sep 17 00:00:00 2001 From: Bruno Turcksin Date: Wed, 10 Jun 2020 19:16:15 +0000 Subject: [PATCH] Fix a bug in CUDAWrappers::MatrixFree::cell_loop when different partitioners are used --- doc/news/changes/minor/20200610Turcksin | 5 +++++ include/deal.II/matrix_free/cuda_matrix_free.templates.h | 1 + 2 files changed, 6 insertions(+) create mode 100644 doc/news/changes/minor/20200610Turcksin diff --git a/doc/news/changes/minor/20200610Turcksin b/doc/news/changes/minor/20200610Turcksin new file mode 100644 index 0000000000..9eabd040a7 --- /dev/null +++ b/doc/news/changes/minor/20200610Turcksin @@ -0,0 +1,5 @@ +Fixed: Fix a bug where CUDAWrappers::MatrixFree::cell_loop() would set the +destination vector to zero if the partitioner of the MatrixFree object was +different from the partitioner of the source or destination vector. +
+(Bruno Turcksin, 2020/06/10) 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 c7e81aa35f..ba9f6283ec 100644 --- a/include/deal.II/matrix_free/cuda_matrix_free.templates.h +++ b/include/deal.II/matrix_free/cuda_matrix_free.templates.h @@ -1230,6 +1230,7 @@ namespace CUDAWrappers LinearAlgebra::distributed::Vector ghosted_dst(ghosted_src); ghosted_src = src; + ghosted_dst = dst; // Execute the loop on the cells for (unsigned int i = 0; i < n_colors; ++i) -- 2.39.5