Skip to content

Commit

Permalink
Replace dealii::MemorySpace::CUDA with dealii::MemorySpace::Host
Browse files Browse the repository at this point in the history
  • Loading branch information
Rombur committed Jan 24, 2024
1 parent e682cde commit 8194156
Show file tree
Hide file tree
Showing 17 changed files with 152 additions and 151 deletions.
4 changes: 2 additions & 2 deletions application/adamantine.cu
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ int main(int argc, char *argv[])

if (memory_space == "device")
{
run<2, dealii::MemorySpace::CUDA>(communicator, database, timers);
run<2, dealii::MemorySpace::Default>(communicator, database, timers);
}
else
{
Expand All @@ -177,7 +177,7 @@ int main(int argc, char *argv[])

if (memory_space == "device")
{
run<3, dealii::MemorySpace::CUDA>(communicator, database, timers);
run<3, dealii::MemorySpace::Default>(communicator, database, timers);
}
else
{
Expand Down
12 changes: 6 additions & 6 deletions application/adamantine.hh
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,9 @@ void output_pvtu(

#ifdef ADAMANTINE_HAVE_CUDA
template <int dim, typename MemorySpaceType,
std::enable_if_t<
std::is_same<MemorySpaceType, dealii::MemorySpace::CUDA>::value,
int> = 0>
std::enable_if_t<std::is_same<MemorySpaceType,
dealii::MemorySpace::Default>::value,
int> = 0>
void output_pvtu(
adamantine::PostProcessor<dim> &post_processor, unsigned int n_time_step,
double time,
Expand Down Expand Up @@ -200,9 +200,9 @@ dealii::Vector<float> estimate_error(

#ifdef ADAMANTINE_HAVE_CUDA
template <int dim, typename MemorySpaceType,
std::enable_if_t<
std::is_same<MemorySpaceType, dealii::MemorySpace::CUDA>::value,
int> = 0>
std::enable_if_t<std::is_same<MemorySpaceType,
dealii::MemorySpace::Default>::value,
int> = 0>
dealii::Vector<float> estimate_error(
dealii::parallel::distributed::Triangulation<dim> const &triangulation,
dealii::DoFHandler<dim> const &dof_handler, int fe_degree,
Expand Down
2 changes: 1 addition & 1 deletion source/ImplicitOperator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,6 @@ void ImplicitOperator<MemorySpaceType>::Tvmult_add(
// Instantiation
template class ImplicitOperator<dealii::MemorySpace::Host>;
#ifdef ADAMANTINE_HAVE_CUDA
template class ImplicitOperator<dealii::MemorySpace::CUDA>;
template class ImplicitOperator<dealii::MemorySpace::Default>;
#endif
} // namespace adamantine
6 changes: 3 additions & 3 deletions source/MaterialProperty.cu
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (c) 2021, the adamantine authors.
/* Copyright (c) 2021-2023, the adamantine authors.
*
* This file is subject to the Modified BSD License and may not be distributed
* without copyright and license information. Please refer to the file LICENSE
Expand All @@ -9,6 +9,6 @@

namespace adamantine
{
template class MaterialProperty<2, dealii::MemorySpace::CUDA>;
template class MaterialProperty<3, dealii::MemorySpace::CUDA>;
template class MaterialProperty<2, dealii::MemorySpace::Default>;
template class MaterialProperty<3, dealii::MemorySpace::Default>;
} // namespace adamantine
23 changes: 12 additions & 11 deletions source/MaterialProperty.templates.hh
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,9 @@ void compute_average(
dealii::DoFHandler<dim> const &mp_dof_handler,
dealii::DoFHandler<dim> const &temperature_dof_handler,
dealii::hp::FEValues<dim> &hp_fe_values,
dealii::LA::distributed::Vector<double, dealii::MemorySpace::CUDA> const
dealii::LA::distributed::Vector<double, dealii::MemorySpace::Default> const
&temperature,
dealii::LA::distributed::Vector<double, dealii::MemorySpace::CUDA>
dealii::LA::distributed::Vector<double, dealii::MemorySpace::Default>
&temperature_average)
{
dealii::LA::distributed::Vector<double, dealii::MemorySpace::Host>
Expand All @@ -111,8 +111,8 @@ void compute_average(
}

template <>
double get_value<dealii::MemorySpace::CUDA>(
MemoryBlock<double, dealii::MemorySpace::CUDA> const &memory_block,
double get_value<dealii::MemorySpace::Default>(
MemoryBlock<double, dealii::MemorySpace::Default> const &memory_block,
unsigned int i, unsigned int j)
{
MemoryBlock<double, dealii::MemorySpace::Host> memory_block_host(
Expand Down Expand Up @@ -670,16 +670,17 @@ void MaterialProperty<dim, MemorySpaceType>::set_state_device(
++cell_i;
}

MemoryBlock<unsigned int, dealii::MemorySpace::CUDA> mapping(mapping_host);
MemoryBlockView<unsigned, dealii::MemorySpace::CUDA> mapping_view(mapping);
MemoryBlockView<double, dealii::MemorySpace::CUDA> liquid_ratio_view(
MemoryBlock<unsigned int, dealii::MemorySpace::Default> mapping(mapping_host);
MemoryBlockView<unsigned, dealii::MemorySpace::Default> mapping_view(mapping);
MemoryBlockView<double, dealii::MemorySpace::Default> liquid_ratio_view(
liquid_ratio);
MemoryBlockView<double, dealii::MemorySpace::CUDA> powder_ratio_view(
MemoryBlockView<double, dealii::MemorySpace::Default> powder_ratio_view(
powder_ratio);
MemoryBlock<double, dealii::MemorySpace::CUDA> mp_dof_block(
MemoryBlock<double, dealii::MemorySpace::Default> mp_dof_block(
mp_dof_host_block);
MemoryBlockView<double, dealii::MemorySpace::CUDA> mp_dof_view(mp_dof_block);
MemoryBlockView<double, dealii::MemorySpace::CUDA> state_view(_state);
MemoryBlockView<double, dealii::MemorySpace::Default> mp_dof_view(
mp_dof_block);
MemoryBlockView<double, dealii::MemorySpace::Default> state_view(_state);
auto const powder_state = static_cast<unsigned int>(MaterialState::powder);
auto const liquid_state = static_cast<unsigned int>(MaterialState::liquid);
auto const solid_state = static_cast<unsigned int>(MaterialState::solid);
Expand Down
78 changes: 39 additions & 39 deletions source/ThermalOperatorDevice.cu
Original file line number Diff line number Diff line change
Expand Up @@ -156,19 +156,19 @@ class LocalThermalOperatorDevice
public:
LocalThermalOperatorDevice(
bool use_table, unsigned int polynomial_order, double *cos, double *sin,
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
powder_ratio_view,
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
liquid_ratio_view,
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
material_id_view,
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
inv_rho_cp_view,
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
properties_view,
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
state_property_tables_view,
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
state_property_polynomials_view)
: _use_table(use_table), _polynomial_order(polynomial_order), _cos(cos),
_sin(sin), _powder_ratio_view(powder_ratio_view),
Expand Down Expand Up @@ -212,19 +212,19 @@ private:
static_cast<unsigned int>(adamantine::MaterialState::SIZE);
double *_cos;
double *_sin;
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
_powder_ratio_view;
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
_liquid_ratio_view;
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
_material_id_view;
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
_inv_rho_cp_view;
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
_properties_view;
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
_state_property_tables_view;
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
_state_property_polynomials_view;
};

Expand Down Expand Up @@ -293,7 +293,7 @@ LocalThermalOperatorDevice<dim, fe_degree>::compute_material_property(
const dealii::types::material_id m_id = material_id;

value += state_ratios[material_state] *
adamantine::MaterialProperty<dim, dealii::MemorySpace::CUDA>::
adamantine::MaterialProperty<dim, dealii::MemorySpace::Default>::
compute_property_from_table(_state_property_tables_view,
m_id, material_state,
property_index, temperature);
Expand Down Expand Up @@ -530,11 +530,11 @@ void ThermalOperatorDevice<dim, fe_degree, MemorySpaceType>::vmult_add(
dealii::LA::distributed::Vector<double, MemorySpaceType> const &src) const
{

adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
powder_ratio_view(_powder_ratio);
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
liquid_ratio_view(_liquid_ratio);
adamantine::MemoryBlockView<double, dealii::MemorySpace::CUDA>
adamantine::MemoryBlockView<double, dealii::MemorySpace::Default>
material_id_view(_material_id);
ASSERT(material_id_view.extent(0), "material_id has not been initialized");

Expand Down Expand Up @@ -714,25 +714,25 @@ void ThermalOperatorDevice<dim, fe_degree,
// instantiate by hand
namespace adamantine
{
template class ThermalOperatorDevice<2, 1, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<2, 2, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<2, 3, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<2, 4, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<2, 5, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<2, 6, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<2, 7, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<2, 8, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<2, 9, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<2, 10, dealii::MemorySpace::CUDA>;

template class ThermalOperatorDevice<3, 1, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<3, 2, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<3, 3, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<3, 4, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<3, 5, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<3, 6, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<3, 7, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<3, 8, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<3, 9, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<3, 10, dealii::MemorySpace::CUDA>;
template class ThermalOperatorDevice<2, 1, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<2, 2, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<2, 3, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<2, 4, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<2, 5, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<2, 6, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<2, 7, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<2, 8, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<2, 9, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<2, 10, dealii::MemorySpace::Default>;

template class ThermalOperatorDevice<3, 1, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<3, 2, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<3, 3, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<3, 4, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<3, 5, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<3, 6, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<3, 7, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<3, 8, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<3, 9, dealii::MemorySpace::Default>;
template class ThermalOperatorDevice<3, 10, dealii::MemorySpace::Default>;
} // namespace adamantine
8 changes: 4 additions & 4 deletions source/ThermalOperatorDevice.hh
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,10 @@ private:
*/
MaterialProperty<dim, MemorySpaceType> &_material_properties;
dealii::CUDAWrappers::MatrixFree<dim, double> _matrix_free;
MemoryBlock<double, dealii::MemorySpace::CUDA> _liquid_ratio;
MemoryBlock<double, dealii::MemorySpace::CUDA> _powder_ratio;
MemoryBlock<double, dealii::MemorySpace::CUDA> _material_id;
MemoryBlock<double, dealii::MemorySpace::CUDA> _inv_rho_cp;
MemoryBlock<double, dealii::MemorySpace::Default> _liquid_ratio;
MemoryBlock<double, dealii::MemorySpace::Default> _powder_ratio;
MemoryBlock<double, dealii::MemorySpace::Default> _material_id;
MemoryBlock<double, dealii::MemorySpace::Default> _inv_rho_cp;
dealii::LinearAlgebra::CUDAWrappers::Vector<double> _deposition_cos;
dealii::LinearAlgebra::CUDAWrappers::Vector<double> _deposition_sin;
std::map<typename dealii::DoFHandler<dim>::cell_iterator,
Expand Down

0 comments on commit 8194156

Please sign in to comment.