File tree Expand file tree Collapse file tree 6 files changed +29
-3
lines changed
Expand file tree Collapse file tree 6 files changed +29
-3
lines changed Original file line number Diff line number Diff line change @@ -87,8 +87,9 @@ kr_option(KR_ENABLE_HDF5_PARALLEL "use parallel version of HDF5" OFF KR_ENABLE_H
8787
8888#Exec space options
8989kr_option (KR_ENABLE_EXEC_SPACES "enable resilient execution spaces" OFF )
90- kr_option (KR_ENABLE_OPENMP_EXEC_SPACE "enable the resilient OpenMP execution space" ON "KR_ENABLE_EXEC_SPACES;KR_OPENMP_DEVICE_ENABLED" )
91- if (KR_ENABLE_OPENMP_EXEC_SPACE)
90+ kr_option (KR_ENABLE_OPENMP_EXEC_SPACE "enable resilient OpenMP execution space" OFF "KR_ENABLE_EXEC_SPACES;KR_OPENMP_DEVICE_ENABLED" )
91+ kr_option (KR_ENABLE_CUDA_EXEC_SPACE "enable resilient Cuda execution space" OFF "KR_ENABLE_EXEC_SPACES;KR_CUDA_DEVICE_ENABLED" )
92+ if (KR_ENABLE_EXEC_SPACES)
9293 set (KR_MODULAR_REDUNDANCY TRIPLE CACHE STRING "choose level of modular redundancy" )
9394 set_property (CACHE KR_MODULAR_REDUNDANCY PROPERTY STRINGS OFF DOUBLE TRIPLE )
9495 if (KR_MODULAR_REDUNDANCY STREQUAL TRIPLE)
@@ -127,6 +128,9 @@ if (KR_ENABLE_OPENMP_EXEC_SPACE)
127128 message (STATUS "OpenMP resilient execution spaces are enabled" )
128129endif ()
129130
131+ if (KR_ENABLE_CUDA_EXEC_SPACE)
132+ message (STATUS "Cuda resilient execution spaces are enabled" )
133+ endif ()
130134
131135add_subdirectory (src )
132136
Original file line number Diff line number Diff line change 4242#define INC_RESILIENCE_ERRORHANDLER_HPP
4343
4444#include < functional>
45+ #include < Kokkos_Core.hpp>
4546
4647namespace KokkosResilience {
4748/* *
Original file line number Diff line number Diff line change 11if (KR_ENABLE_OPENMP_EXEC_SPACE)
22 add_subdirectory (openMP )
33endif ()
4+
5+ if (KR_ENABLE_CUDA_EXEC_SPACE)
6+ add_subdirectory (cuda )
7+ endif ()
Original file line number Diff line number Diff line change 4646#include " openMP/Resilient_OpenMP_Subscriber.hpp"
4747#include " openMP/Resilient_HostSpace.hpp"
4848#endif
49+
50+ #ifdef KR_ENABLE_CUDA_EXEC_SPACE
51+ #include " cuda/Resilient_Cuda.hpp"
52+ #include " cuda/Resilient_Cuda_Parallel_For.hpp"
53+ #include " cuda/Resilient_Cuda_Subscriber.hpp"
54+ #include " cuda/Resilient_CudaSpace.hpp"
55+ #endif
Original file line number Diff line number Diff line change @@ -350,12 +350,16 @@ struct ResilientDuplicatesSubscriber {
350350
351351 // The first copy constructor in a parallel_for for the given view
352352 if (res.second ) {
353+ std::cout << " Do we ever enter the first copy constructor? How many times?" << std::endl;
353354 c.duplicate_count = 0 ;
354355 }
355-
356+ std::cout << " *****In copy constructor, self has now been set to copy c.duplicate_count= " << c. duplicate_count << " **** " << std::endl;
356357 self = c.copy [c.duplicate_count ++];
357358 // Copy all data, every time
358359 Kokkos::deep_copy (self, other);
360+ std::cout << std::endl << " This is the end of the constructor after Kokkos::deep_copy" <<std::endl;
361+ std::cout << " c_duplicate_count = " <<c.duplicate_count << std::endl;
362+
359363 }
360364 }
361365 }
Original file line number Diff line number Diff line change @@ -44,6 +44,12 @@ if (KR_ENABLE_OPENMP_EXEC_SPACE)
4444 )
4545endif ()
4646
47+ if (KR_ENABLE_CUDA_EXEC_SPACE)
48+ target_sources (resilience_tests PRIVATE
49+ TestCudaResilientExecution.cpp
50+ )
51+ endif ()
52+
4753if (KR_WARNINGS_AS_ERRORS)
4854 if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
4955 target_compile_options (resilience_tests PRIVATE "-Wall" )
You can’t perform that action at this time.
0 commit comments