File tree Expand file tree Collapse file tree 3 files changed +18
-0
lines changed
Expand file tree Collapse file tree 3 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -139,7 +139,13 @@ linalg::SparseMatrixStorage assemble_global_matrix(const Interpolation& interpol
139139 max_gidx = std::max (max_gidx, global_index (i));
140140 }
141141 }
142+ #if ATLAS_ECKIT_VERSION_AT_LEAST(1, 22, 2)
143+ // eckit::mpi::Comm::reduceInPlace() was only added in eckit 1.22.2
142144 mpi_comm.reduceInPlace (max_gidx, eckit::mpi::max (), mpi_root);
145+ #else
146+ mpi_comm.allReduceInPlace (max_gidx, eckit::mpi::max ());
147+ (void )mpi_root; // to silence unused lambda capture warning
148+ #endif
143149 return max_gidx;
144150 };
145151
Original file line number Diff line number Diff line change @@ -256,7 +256,11 @@ int AtlasGlobalMatrix::execute(const AtlasTool::Args& args) {
256256 auto tgt = eckit::linalg::Vector (tgt_data.data (), tgt_data.size ());
257257 auto eckit_matrix = atlas::linalg::make_non_owning_eckit_sparse_matrix (matrix);
258258 timers.global_matrix_exe .start ();
259+ #if ATLAS_ECKIT_VERSION_AT_LEAST(1, 19, 0)
259260 eckit::linalg::LinearAlgebraSparse::backend ().spmv (eckit_matrix, src, tgt);
261+ #else
262+ eckit::linalg::LinearAlgebra::backend ().spmv (eckit_matrix, src, tgt);
263+ #endif
260264 timers.global_matrix_exe .stop ();
261265 Log::info () << " Global matrix-multiply timer \t : " << 1000 .*timers.global_matrix_exe .elapsed () << " [ms]" << std::endl;
262266 Log::info () << " Global matrix non-zero entries\t : " << matrix.nnz () << std::endl;
Original file line number Diff line number Diff line change @@ -165,7 +165,11 @@ using SparseMatrixStorage = atlas::linalg::SparseMatrixStorage;
165165 auto src = eckit::linalg::Vector (src_data.data (), src_data.size ());
166166 auto tgt = eckit::linalg::Vector (tgt_data.data (), tgt_data.size ());
167167 auto eckit_matrix = atlas::linalg::make_non_owning_eckit_sparse_matrix (matrix);
168+ #if ATLAS_ECKIT_VERSION_AT_LEAST(1, 19, 0)
168169 eckit::linalg::LinearAlgebraSparse::backend ().spmv (eckit_matrix, src, tgt);
170+ #else
171+ eckit::linalg::LinearAlgebra::backend ().spmv (eckit_matrix, src, tgt);
172+ #endif
169173 }
170174 auto tfield_global_v = array::make_view<double ,1 >(tgt_field_global);
171175 for (gidx_t i = 0 ; i < tgt_data.size (); ++i) {
@@ -207,7 +211,11 @@ using SparseMatrixStorage = atlas::linalg::SparseMatrixStorage;
207211 }
208212 auto tgt = eckit::linalg::Vector (tgt_data.data (), tgt_data.size ());
209213 auto eckit_matrix = atlas::linalg::make_non_owning_eckit_sparse_matrix (gmatrix);
214+ #if ATLAS_ECKIT_VERSION_AT_LEAST(1, 19, 0)
210215 eckit::linalg::LinearAlgebraSparse::backend ().spmv (eckit_matrix, src, tgt);
216+ #else
217+ eckit::linalg::LinearAlgebra::backend ().spmv (eckit_matrix, src, tgt);
218+ #endif
211219 }
212220 }
213221
You can’t perform that action at this time.
0 commit comments