From 27529fe74bae1c5e0e0c74c071047d335bd9f543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Klinkovsk=C3=BD?= <klinkjak@fjfi.cvut.cz> Date: Mon, 7 Nov 2016 22:24:06 +0100 Subject: [PATCH] Moved files for explicit template instantiation out of the way --- src/TNL/Containers/Algorithms/CMakeLists.txt | 37 +------------------ .../CMakeLists.txt | 33 +++++++++++++++++ .../cuda-prefix-sum_impl.cu | 0 .../cuda-reduction-abs-max_impl.cu | 0 .../cuda-reduction-abs-min_impl.cu | 0 .../cuda-reduction-abs-sum_impl.cu | 0 .../cuda-reduction-and_impl.cu | 0 .../cuda-reduction-diff-abs-max_impl.cu | 0 .../cuda-reduction-diff-abs-min_impl.cu | 0 .../cuda-reduction-diff-abs-sum_impl.cu | 0 .../cuda-reduction-diff-l2-norm_impl.cu | 0 .../cuda-reduction-diff-lp-norm_impl.cu | 0 .../cuda-reduction-diff-max_impl.cu | 0 .../cuda-reduction-diff-min_impl.cu | 0 .../cuda-reduction-diff-sum_impl.cu | 0 .../cuda-reduction-equalities_impl.cu | 0 .../cuda-reduction-inequalities_impl.cu | 0 .../cuda-reduction-l2-norm_impl.cu | 0 .../cuda-reduction-lp-norm_impl.cu | 0 .../cuda-reduction-max_impl.cu | 0 .../cuda-reduction-min_impl.cu | 0 .../cuda-reduction-or_impl.cu | 0 .../cuda-reduction-scalar-product_impl.cu | 0 .../cuda-reduction-sum_impl.cu | 0 .../cuda-reduction_impl.cpp | 0 .../Algorithms/cuda-prefix-sum_impl.cpp | 13 ------- 26 files changed, 35 insertions(+), 48 deletions(-) create mode 100755 src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/CMakeLists.txt rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-prefix-sum_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-abs-max_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-abs-min_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-abs-sum_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-and_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-diff-abs-max_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-diff-abs-min_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-diff-abs-sum_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-diff-l2-norm_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-diff-lp-norm_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-diff-max_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-diff-min_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-diff-sum_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-equalities_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-inequalities_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-l2-norm_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-lp-norm_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-max_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-min_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-or_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-scalar-product_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction-sum_impl.cu (100%) rename src/TNL/Containers/Algorithms/{ => TemplateExplicitInstantiation}/cuda-reduction_impl.cpp (100%) delete mode 100644 src/TNL/Containers/Algorithms/cuda-prefix-sum_impl.cpp diff --git a/src/TNL/Containers/Algorithms/CMakeLists.txt b/src/TNL/Containers/Algorithms/CMakeLists.txt index ea0148af12..f3ccab86d7 100755 --- a/src/TNL/Containers/Algorithms/CMakeLists.txt +++ b/src/TNL/Containers/Algorithms/CMakeLists.txt @@ -1,3 +1,5 @@ +ADD_SUBDIRECTORY( TemplateExplicitInstantiation ) + set( headers cuda-prefix-sum.h cuda-prefix-sum_impl.h cuda-reduction.h @@ -12,39 +14,4 @@ set( headers cuda-prefix-sum.h Multireduction_impl.h ) -SET( CURRENT_DIR ${CMAKE_SOURCE_DIR}/src/TNL/Containers/Algorithms ) -IF( BUILD_CUDA ) - set( tnl_core_cuda_CUDA__SOURCES - ${common_SOURCES} - ${CURRENT_DIR}/cuda-reduction-sum_impl.cu - ${CURRENT_DIR}/cuda-reduction-min_impl.cu - ${CURRENT_DIR}/cuda-reduction-max_impl.cu - ${CURRENT_DIR}/cuda-reduction-abs-sum_impl.cu - ${CURRENT_DIR}/cuda-reduction-abs-min_impl.cu - ${CURRENT_DIR}/cuda-reduction-abs-max_impl.cu - ${CURRENT_DIR}/cuda-reduction-and_impl.cu - ${CURRENT_DIR}/cuda-reduction-or_impl.cu - ${CURRENT_DIR}/cuda-reduction-l2-norm_impl.cu - ${CURRENT_DIR}/cuda-reduction-lp-norm_impl.cu - ${CURRENT_DIR}/cuda-reduction-equalities_impl.cu - ${CURRENT_DIR}/cuda-reduction-inequalities_impl.cu - ${CURRENT_DIR}/cuda-reduction-scalar-product_impl.cu - ${CURRENT_DIR}/cuda-reduction-diff-sum_impl.cu - ${CURRENT_DIR}/cuda-reduction-diff-min_impl.cu - ${CURRENT_DIR}/cuda-reduction-diff-max_impl.cu - ${CURRENT_DIR}/cuda-reduction-diff-abs-sum_impl.cu - ${CURRENT_DIR}/cuda-reduction-diff-abs-min_impl.cu - ${CURRENT_DIR}/cuda-reduction-diff-abs-max_impl.cu - ${CURRENT_DIR}/cuda-reduction-diff-l2-norm_impl.cu - ${CURRENT_DIR}/cuda-reduction-diff-lp-norm_impl.cu - ${CURRENT_DIR}/cuda-prefix-sum_impl.cu - PARENT_SCOPE ) -endif() - -set( tnl_core_cuda_SOURCES - ${common_SOURCES} - ${CURRENT_DIR}/cuda-reduction_impl.cpp - ${CURRENT_DIR}/cuda-prefix-sum_impl.cpp - PARENT_SCOPE ) - INSTALL( FILES ${headers} DESTINATION include/tnl-${tnlVersion}/TNL/Containers/Algorithms ) diff --git a/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/CMakeLists.txt b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/CMakeLists.txt new file mode 100755 index 0000000000..266952e328 --- /dev/null +++ b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/CMakeLists.txt @@ -0,0 +1,33 @@ +SET( CURRENT_DIR ${CMAKE_SOURCE_DIR}/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation ) +IF( BUILD_CUDA ) + set( tnl_core_cuda_CUDA__SOURCES + ${common_SOURCES} + ${CURRENT_DIR}/cuda-reduction-sum_impl.cu + ${CURRENT_DIR}/cuda-reduction-min_impl.cu + ${CURRENT_DIR}/cuda-reduction-max_impl.cu + ${CURRENT_DIR}/cuda-reduction-abs-sum_impl.cu + ${CURRENT_DIR}/cuda-reduction-abs-min_impl.cu + ${CURRENT_DIR}/cuda-reduction-abs-max_impl.cu + ${CURRENT_DIR}/cuda-reduction-and_impl.cu + ${CURRENT_DIR}/cuda-reduction-or_impl.cu + ${CURRENT_DIR}/cuda-reduction-l2-norm_impl.cu + ${CURRENT_DIR}/cuda-reduction-lp-norm_impl.cu + ${CURRENT_DIR}/cuda-reduction-equalities_impl.cu + ${CURRENT_DIR}/cuda-reduction-inequalities_impl.cu + ${CURRENT_DIR}/cuda-reduction-scalar-product_impl.cu + ${CURRENT_DIR}/cuda-reduction-diff-sum_impl.cu + ${CURRENT_DIR}/cuda-reduction-diff-min_impl.cu + ${CURRENT_DIR}/cuda-reduction-diff-max_impl.cu + ${CURRENT_DIR}/cuda-reduction-diff-abs-sum_impl.cu + ${CURRENT_DIR}/cuda-reduction-diff-abs-min_impl.cu + ${CURRENT_DIR}/cuda-reduction-diff-abs-max_impl.cu + ${CURRENT_DIR}/cuda-reduction-diff-l2-norm_impl.cu + ${CURRENT_DIR}/cuda-reduction-diff-lp-norm_impl.cu + ${CURRENT_DIR}/cuda-prefix-sum_impl.cu + PARENT_SCOPE ) +endif() + +set( tnl_core_cuda_SOURCES + ${common_SOURCES} + ${CURRENT_DIR}/cuda-reduction_impl.cpp + PARENT_SCOPE ) diff --git a/src/TNL/Containers/Algorithms/cuda-prefix-sum_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-prefix-sum_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-prefix-sum_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-prefix-sum_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-abs-max_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-abs-max_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-abs-max_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-abs-max_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-abs-min_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-abs-min_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-abs-min_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-abs-min_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-abs-sum_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-abs-sum_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-abs-sum_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-abs-sum_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-and_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-and_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-and_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-and_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-diff-abs-max_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-abs-max_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-diff-abs-max_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-abs-max_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-diff-abs-min_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-abs-min_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-diff-abs-min_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-abs-min_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-diff-abs-sum_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-abs-sum_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-diff-abs-sum_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-abs-sum_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-diff-l2-norm_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-l2-norm_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-diff-l2-norm_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-l2-norm_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-diff-lp-norm_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-lp-norm_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-diff-lp-norm_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-lp-norm_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-diff-max_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-max_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-diff-max_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-max_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-diff-min_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-min_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-diff-min_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-min_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-diff-sum_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-sum_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-diff-sum_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-diff-sum_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-equalities_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-equalities_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-equalities_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-equalities_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-inequalities_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-inequalities_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-inequalities_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-inequalities_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-l2-norm_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-l2-norm_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-l2-norm_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-l2-norm_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-lp-norm_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-lp-norm_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-lp-norm_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-lp-norm_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-max_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-max_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-max_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-max_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-min_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-min_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-min_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-min_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-or_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-or_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-or_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-or_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-scalar-product_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-scalar-product_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-scalar-product_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-scalar-product_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction-sum_impl.cu b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-sum_impl.cu similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction-sum_impl.cu rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction-sum_impl.cu diff --git a/src/TNL/Containers/Algorithms/cuda-reduction_impl.cpp b/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction_impl.cpp similarity index 100% rename from src/TNL/Containers/Algorithms/cuda-reduction_impl.cpp rename to src/TNL/Containers/Algorithms/TemplateExplicitInstantiation/cuda-reduction_impl.cpp diff --git a/src/TNL/Containers/Algorithms/cuda-prefix-sum_impl.cpp b/src/TNL/Containers/Algorithms/cuda-prefix-sum_impl.cpp deleted file mode 100644 index ebce329454..0000000000 --- a/src/TNL/Containers/Algorithms/cuda-prefix-sum_impl.cpp +++ /dev/null @@ -1,13 +0,0 @@ -/*************************************************************************** - cuda-prefix-sum_impl.cpp - description - ------------------- - begin : Jan 18, 2014 - copyright : (C) 2014 by Tomas Oberhuber - email : tomas.oberhuber@fjfi.cvut.cz - ***************************************************************************/ - -/* See Copyright Notice in tnl/Copyright */ - - - - -- GitLab