From 0b0c8f3e3897d33d95dbb29daad9d7a050cf5ad5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Klinkovsk=C3=BD?= <klinkjak@fjfi.cvut.cz> Date: Fri, 17 Feb 2017 22:34:34 +0100 Subject: [PATCH] Enabled meshes on CUDA in BuildConfigTags --- src/TNL/Meshes/BuildConfigTags.h | 6 ++++-- src/TNL/Solvers/PDE/MeshDependentTimeSteps.h | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/TNL/Meshes/BuildConfigTags.h b/src/TNL/Meshes/BuildConfigTags.h index 73b1e8ae1e..573c3393ce 100644 --- a/src/TNL/Meshes/BuildConfigTags.h +++ b/src/TNL/Meshes/BuildConfigTags.h @@ -65,10 +65,12 @@ struct GridTag< ConfigTag, Grid< Dimension, Real, Device, Index > > * Configuration for unstructured meshes */ -// Meshes are enabled only on host. -// TODO: enable Devices::Cuda by default when implemented +// Meshes are enabled on all available devices by default. template< typename ConfigTag, typename Device > struct MeshDeviceTag { enum { enabled = false }; }; template< typename ConfigTag > struct MeshDeviceTag< ConfigTag, Devices::Host > { enum { enabled = true }; }; +#ifdef HAVE_CUDA +template< typename ConfigTag > struct MeshDeviceTag< ConfigTag, Devices::Cuda > { enum { enabled = true }; }; +#endif // All available cell topologies are disabled by default. template< typename ConfigTag, typename CellTopology > struct MeshCellTopologyTag { enum { enabled = false }; }; diff --git a/src/TNL/Solvers/PDE/MeshDependentTimeSteps.h b/src/TNL/Solvers/PDE/MeshDependentTimeSteps.h index d7031301b6..143c4b7f02 100644 --- a/src/TNL/Solvers/PDE/MeshDependentTimeSteps.h +++ b/src/TNL/Solvers/PDE/MeshDependentTimeSteps.h @@ -57,8 +57,9 @@ protected: }; template< typename MeshConfig, + typename Device, typename Real > -class MeshDependentTimeSteps< TNL::Meshes::Mesh< MeshConfig >, Real > +class MeshDependentTimeSteps< TNL::Meshes::Mesh< MeshConfig, Device >, Real > { public: using MeshType = TNL::Meshes::Mesh< MeshConfig >; -- GitLab