Skip to content

Commit

Permalink
Merge branch 'fix-missing-override' into 'main'
Browse files Browse the repository at this point in the history
Fix missing override

See merge request gysela-developpers/gyselalibxx!802

--------------------------------------------

Co-authored-by: Thomas Padioleau <thomas.padioleau@cea.fr>
  • Loading branch information
EmilyBourne and tpadioleau committed Dec 10, 2024
1 parent c27f2ad commit a85edb2
Show file tree
Hide file tree
Showing 90 changed files with 435 additions and 375 deletions.
5 changes: 1 addition & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
[submodule "vendor/mdspan"]
path = vendor/mdspan
url = https://github.com/kokkos/mdspan.git
[submodule "vendor/googletest"]
path = vendor/googletest
url = https://github.com/google/googletest.git
Expand All @@ -25,4 +22,4 @@
url = https://github.com/CExA-project/ddc.git
[submodule "vendor/kokkos-kernels"]
path = vendor/kokkos-kernels
url = https://github.com/yasahi-hpc/kokkos-kernels.git
url = https://github.com/yasahi-hpc/kokkos-kernels
17 changes: 0 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -114,23 +114,6 @@ if("${GYSELALIBXX_BUILD_BENCHMARKS}")
endif()
endif()

## Use mdspan from `vendor/`
set(GYSELALIBXX_mdspan_DEPENDENCY_POLICY "AUTO" CACHE STRING "Policy to find the `mdspan` package. Options: ${GYSELALIBXX_DEPENDENCY_POLICIES}")
set_property(CACHE GYSELALIBXX_mdspan_DEPENDENCY_POLICY PROPERTY STRINGS ${GYSELALIBXX_DEPENDENCY_POLICIES})

if("${GYSELALIBXX_mdspan_DEPENDENCY_POLICY}" STREQUAL "AUTO")
find_package(mdspan "0.3" QUIET)
if(NOT "${mdspan_FOUND}")
set(MDSPAN_CXX_STANDARD "${CMAKE_CXX_STANDARD}" CACHE STRING "Override the default CXX_STANDARD to compile with" FORCE)
add_subdirectory("vendor/mdspan/" "mdspan") # SYSTEM)
endif()
elseif("${GYSELALIBXX_mdspan_DEPENDENCY_POLICY}" STREQUAL "EMBEDDED")
set(MDSPAN_CXX_STANDARD "${CMAKE_CXX_STANDARD}" CACHE STRING "Override the default CXX_STANDARD to compile with" FORCE)
add_subdirectory("vendor/mdspan/" "mdspan") # SYSTEM)
elseif("${GYSELALIBXX_mdspan_DEPENDENCY_POLICY}" STREQUAL "INSTALLED")
find_package(mdspan "0.3" REQUIRED)
endif()

## Use Kokkos from `vendor/`
if("${Kokkos_ENABLE_CUDA}")
option(Kokkos_ENABLE_CUDA_CONSTEXPR "Whether to activate experimental relaxed constexpr functions" ON)
Expand Down
6 changes: 3 additions & 3 deletions simulations/geometryRTheta/diocotron/diocotron.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,8 @@ int main(int argc, char** argv)
builder(get_field(coeff_beta_spline), get_const_field(coeff_beta));

PoissonSolver poisson_solver(
coeff_alpha_spline,
coeff_beta_spline,
get_const_field(coeff_alpha_spline),
get_const_field(coeff_beta_spline),
discrete_mapping,
spline_evaluator);

Expand Down Expand Up @@ -295,7 +295,7 @@ int main(int argc, char** argv)
host_t<DFieldMemRTheta> phi_eq(mesh_rp);
host_t<Spline2DMem> rho_coef_eq(idx_range_bsplinesRTheta);
builder(get_field(rho_coef_eq), get_const_field(rho_eq));
PoissonLikeRHSFunction poisson_rhs_eq(rho_coef_eq, spline_evaluator);
PoissonLikeRHSFunction poisson_rhs_eq(get_const_field(rho_coef_eq), spline_evaluator);
poisson_solver(poisson_rhs_eq, get_field(phi_eq));


Expand Down
18 changes: 13 additions & 5 deletions simulations/geometryRTheta/vortex_merger/vortex_merger.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,8 @@ int main(int argc, char** argv)
builder(get_field(coeff_beta_spline), get_const_field(coeff_beta));

PoissonSolver poisson_solver(
coeff_alpha_spline,
coeff_beta_spline,
get_const_field(coeff_alpha_spline),
get_const_field(coeff_beta_spline),
discrete_mapping,
spline_evaluator);

Expand Down Expand Up @@ -243,19 +243,27 @@ int main(int argc, char** argv)
equilibrium(to_physical_mapping, grid, builder, spline_evaluator, poisson_solver);
std::function<double(double const)> const function = [&](double const x) { return x * x; };
host_t<DFieldMemRTheta> rho_eq(grid);
equilibrium.set_equilibrium(rho_eq, function, phi_max, tau);
equilibrium.set_equilibrium(get_field(rho_eq), function, phi_max, tau);


VortexMergerDensitySolution solution(to_physical_mapping);
host_t<DFieldMemRTheta> rho(grid);
solution.set_initialisation(rho, rho_eq, eps, sigma, x_star_1, y_star_1, x_star_2, y_star_2);
solution.set_initialisation(
get_field(rho),
get_const_field(rho_eq),
eps,
sigma,
x_star_1,
y_star_1,
x_star_2,
y_star_2);


// Compute phi equilibrium phi_eq from Poisson solver. ***********
host_t<DFieldMemRTheta> phi_eq(grid);
host_t<Spline2DMem> rho_coef_eq(idx_range_bsplinesRTheta);
builder(get_field(rho_coef_eq), get_const_field(rho_eq));
PoissonLikeRHSFunction poisson_rhs_eq(get_field(rho_coef_eq), spline_evaluator);
PoissonLikeRHSFunction poisson_rhs_eq(get_const_field(rho_coef_eq), spline_evaluator);
poisson_solver(poisson_rhs_eq, get_field(phi_eq));


Expand Down
10 changes: 5 additions & 5 deletions simulations/geometryVparMu/collisions/test_collSpVparMu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,12 +64,12 @@ int main(int argc, char** argv)
DFieldMemSpVparMu allfequilibrium(idxrange_spvparmu);
MaxwellianEquilibrium const init_fequilibrium
= MaxwellianEquilibrium::init_from_input(idxrange_kinsp, conf_collision);
init_fequilibrium(allfequilibrium);
init_fequilibrium(get_field(allfequilibrium));

// ---> Initialisation of the distribution function as a pertubed Maxwellian
DFieldMemSpVparMu allfdistribu(idxrange_spvparmu);
NoPerturbInitialization const init(allfequilibrium);
init(allfdistribu);
NoPerturbInitialization const init(get_const_field(allfequilibrium));
init(get_field(allfdistribu));

// ---> Expose unchanged data (related to mesh and species) to PDI
ddc::expose_to_pdi("Nvpar_spline_cells", idxrange_vpar.size());
Expand Down Expand Up @@ -104,7 +104,7 @@ int main(int argc, char** argv)
get_const_field(coeff_intdmu),
get_const_field(coeff_intdvpar),
B_norm,
Bstar_s);
get_const_field(Bstar_s));

// --------- TIME ITERATION ---------
// ---> Reading of algorithm info from input YAML file
Expand Down Expand Up @@ -145,7 +145,7 @@ int main(int argc, char** argv)
.and_with("fdistribu", allfdistribu_host);

// Apply collision operator
collision_operator(allfdistribu, deltat);
collision_operator(get_field(allfdistribu), deltat);
ddc::parallel_deepcopy(allfdistribu_host, allfdistribu);
}

Expand Down
10 changes: 5 additions & 5 deletions simulations/geometryXVx/bump_on_tail/bumpontail_fem_uniform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -80,19 +80,19 @@ int main(int argc, char** argv)
DFieldMemSpVx allfequilibrium(meshSpVx);
BumpontailEquilibrium const init_fequilibrium
= BumpontailEquilibrium::init_from_input(idx_range_kinsp, conf_voicexx);
init_fequilibrium(allfequilibrium);
init_fequilibrium(get_field(allfequilibrium));

ddc::expose_to_pdi("iter_start", iter_start);

DFieldMemSpXVx allfdistribu(meshSpXVx);
double time_start(0);
if (iter_start == 0) {
SingleModePerturbInitialization const init = SingleModePerturbInitialization::
init_from_input(allfequilibrium, idx_range_kinsp, conf_voicexx);
init(allfdistribu);
init_from_input(get_const_field(allfequilibrium), idx_range_kinsp, conf_voicexx);
init(get_field(allfdistribu));
} else {
RestartInitialization const restart(iter_start, time_start);
restart(allfdistribu);
restart(get_field(allfdistribu));
}
auto allfequilibrium_host = ddc::create_mirror_view_and_copy(get_field(allfequilibrium));

Expand Down Expand Up @@ -153,7 +153,7 @@ int main(int argc, char** argv)

steady_clock::time_point const start = steady_clock::now();

predcorr(allfdistribu, time_start, deltat, nbiter);
predcorr(get_field(allfdistribu), time_start, deltat, nbiter);

steady_clock::time_point const end = steady_clock::now();

Expand Down
10 changes: 5 additions & 5 deletions simulations/geometryXVx/bump_on_tail/bumpontail_fft.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -88,19 +88,19 @@ int main(int argc, char** argv)
DFieldMemSpVx allfequilibrium(meshSpVx);
BumpontailEquilibrium const init_fequilibrium
= BumpontailEquilibrium::init_from_input(idx_range_kinsp, conf_voicexx);
init_fequilibrium(allfequilibrium);
init_fequilibrium(get_field(allfequilibrium));

ddc::expose_to_pdi("iter_start", iter_start);

DFieldMemSpXVx allfdistribu(meshSpXVx);
double time_start(0);
if (iter_start == 0) {
SingleModePerturbInitialization const init = SingleModePerturbInitialization::
init_from_input(allfequilibrium, idx_range_kinsp, conf_voicexx);
init(allfdistribu);
init_from_input(get_const_field(allfequilibrium), idx_range_kinsp, conf_voicexx);
init(get_field(allfdistribu));
} else {
RestartInitialization const restart(iter_start, time_start);
restart(allfdistribu);
restart(get_field(allfdistribu));
}
auto allfequilibrium_host = ddc::create_mirror_view_and_copy(get_field(allfequilibrium));

Expand Down Expand Up @@ -160,7 +160,7 @@ int main(int argc, char** argv)

steady_clock::time_point const start = steady_clock::now();

predcorr(allfdistribu, time_start, deltat, nbiter);
predcorr(get_field(allfdistribu), time_start, deltat, nbiter);

steady_clock::time_point const end = steady_clock::now();

Expand Down
12 changes: 6 additions & 6 deletions simulations/geometryXVx/landau/landau_fem_uniform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -80,19 +80,19 @@ int main(int argc, char** argv)
DFieldMemSpVx allfequilibrium(meshSpVx);
MaxwellianEquilibrium const init_fequilibrium
= MaxwellianEquilibrium::init_from_input(idx_range_kinsp, conf_voicexx);
init_fequilibrium(allfequilibrium);
init_fequilibrium(get_field(allfequilibrium));

ddc::expose_to_pdi("iter_start", iter_start);

DFieldMemSpXVx allfdistribu(meshSpXVx);
double time_start(0);
if (iter_start == 0) {
SingleModePerturbInitialization const init = SingleModePerturbInitialization::
init_from_input(allfequilibrium, idx_range_kinsp, conf_voicexx);
init(allfdistribu);
init_from_input(get_const_field(allfequilibrium), idx_range_kinsp, conf_voicexx);
init(get_field(allfdistribu));
} else {
RestartInitialization const restart(iter_start, time_start);
restart(allfdistribu);
restart(get_field(allfdistribu));
}
auto allfequilibrium_host = ddc::create_mirror_view_and_copy(get_field(allfequilibrium));

Expand Down Expand Up @@ -134,7 +134,7 @@ int main(int argc, char** argv)
auto const quadrature_coeffs = ddc::create_mirror_view_and_copy(
Kokkos::DefaultExecutionSpace(),
get_field(quadrature_coeffs_host));
ChargeDensityCalculator rhs(quadrature_coeffs);
ChargeDensityCalculator rhs(get_field(quadrature_coeffs));
QNSolver const poisson(fem_solver, rhs);

PredCorr const predcorr(vlasov, poisson);
Expand All @@ -156,7 +156,7 @@ int main(int argc, char** argv)

steady_clock::time_point const start = steady_clock::now();

predcorr(allfdistribu, time_start, deltat, nbiter);
predcorr(get_field(allfdistribu), time_start, deltat, nbiter);

steady_clock::time_point const end = steady_clock::now();

Expand Down
10 changes: 5 additions & 5 deletions simulations/geometryXVx/landau/landau_fft.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,19 +79,19 @@ int main(int argc, char** argv)
DFieldMemSpVx allfequilibrium(meshSpVx);
MaxwellianEquilibrium const init_fequilibrium
= MaxwellianEquilibrium::init_from_input(idx_range_kinsp, conf_voicexx);
init_fequilibrium(allfequilibrium);
init_fequilibrium(get_field(allfequilibrium));

ddc::expose_to_pdi("iter_start", iter_start);

DFieldMemSpXVx allfdistribu(meshSpXVx);
double time_start(0);
if (iter_start == 0) {
SingleModePerturbInitialization const init = SingleModePerturbInitialization::
init_from_input(allfequilibrium, idx_range_kinsp, conf_voicexx);
init(allfdistribu);
init_from_input(get_const_field(allfequilibrium), idx_range_kinsp, conf_voicexx);
init(get_field(allfdistribu));
} else {
RestartInitialization const restart(iter_start, time_start);
restart(allfdistribu);
restart(get_field(allfdistribu));
}
auto allfequilibrium_host = ddc::create_mirror_view_and_copy(get_field(allfequilibrium));

Expand Down Expand Up @@ -152,7 +152,7 @@ int main(int argc, char** argv)

steady_clock::time_point const start = steady_clock::now();

predcorr(allfdistribu, time_start, deltat, nbiter);
predcorr(get_field(allfdistribu), time_start, deltat, nbiter);

steady_clock::time_point const end = steady_clock::now();

Expand Down
6 changes: 3 additions & 3 deletions simulations/geometryXYVxVy/landau/landau4d_fft.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,11 @@ int main(int argc, char** argv)
DFieldMemSpVxVy allfequilibrium(meshSpVxVy);
MaxwellianEquilibrium const init_fequilibrium
= MaxwellianEquilibrium::init_from_input(idx_range_kinsp, conf_voicexx);
init_fequilibrium(allfequilibrium);
init_fequilibrium(get_field(allfequilibrium));
DFieldMemSpXYVxVy allfdistribu(meshSpXYVxVy);
SingleModePerturbInitialization const init = SingleModePerturbInitialization::
init_from_input(allfequilibrium, idx_range_kinsp, conf_voicexx);
init(allfdistribu);
init_from_input(get_const_field(allfequilibrium), idx_range_kinsp, conf_voicexx);
init(get_field(allfdistribu));
auto allfequilibrium_host = ddc::create_mirror_view_and_copy(get_field(allfequilibrium));

// --> Algorithm info
Expand Down
6 changes: 3 additions & 3 deletions src/advection/bsl_advection_1d.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -261,9 +261,9 @@ class BslAdvection1D
// Interpolate the function at the characteristic feet
function_interpolator(
allfdistribu,
feet,
function_derivatives_min,
function_derivatives_max);
get_const_field(feet),
get_const_field(function_derivatives_min),
get_const_field(function_derivatives_max));


Kokkos::Profiling::popRegion();
Expand Down
8 changes: 4 additions & 4 deletions src/data_types/derivative_field.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ template <
class ElementType,
class SupportType,
class MemorySpace = Kokkos::HostSpace,
class LayoutStridedPolicy = std::experimental::layout_right>
class LayoutStridedPolicy = Kokkos::layout_right>
class DerivField;

template <class ElementType, class SupportType, class MemorySpace, class LayoutStridedPolicy>
Expand Down Expand Up @@ -49,8 +49,8 @@ auto deepcopy(FieldDst&& dst, FieldSrc&& src)
{
assert(dst.get_values_field().domain().extents() == src.get_values_field().domain().extents());

DerivField dst_field = dst.span_view();
DerivField src_field = src.span_view();
DerivField dst_field = get_field(dst);
DerivField src_field = get_field(src);

dst_field.deepcopy(src_field);

Expand Down Expand Up @@ -403,7 +403,7 @@ template <
class ElementType,
class SupportType,
class MemorySpace = Kokkos::HostSpace,
class LayoutStridedPolicy = std::experimental::layout_right>
class LayoutStridedPolicy = Kokkos::layout_right>
using DerivConstField
= DerivField<ElementType const, SupportType, MemorySpace, LayoutStridedPolicy>;

Expand Down
Loading

0 comments on commit a85edb2

Please sign in to comment.