ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
ek_poisson_none_init_cuda.cu
Go to the documentation of this file.
1/*
2 * Copyright (C) 2025-2026 The ESPResSo project
3 *
4 * This file is part of ESPResSo.
5 *
6 * ESPResSo is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * ESPResSo is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#if defined(__NVCC__)
21#define RESTRICT __restrict__
22#if defined(__NVCC_DIAG_PRAGMA_SUPPORT__)
23#pragma nv_diagnostic push
24#pragma nv_diag_suppress 554 // no implicit or explicit cast
25#else
26#pragma push
27#pragma diag_suppress 554 // no implicit or explicit cast
28#endif
29#endif
30
31#include "PoissonSolverNone.hpp"
32
36
37#include <waLBerlaDefinitions.h>
38
39#include <memory>
40#include <stdexcept>
41
42namespace walberla {
43
44std::shared_ptr<walberla::PoissonSolver>
45new_ek_poisson_none_cuda(std::shared_ptr<LatticeWalberla> const &lattice,
46 bool single_precision) {
47#if not defined(WALBERLA_BUILD_WITH_CUDA)
48 throw std::runtime_error("waLBerla was compiled without CUDA support");
49#else
50 if (single_precision) {
51 return std::make_shared<
53 }
54 return std::make_shared<
56#endif
57}
58
59} // namespace walberla
\file PackInfoPdfDoublePrecision.cpp \author pystencils
std::shared_ptr< walberla::PoissonSolver > new_ek_poisson_none_cuda(std::shared_ptr< LatticeWalberla > const &lattice, bool single_precision)