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