Sacado Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Fad_KokkosAtomicTests_Cuda_Hierarchical_DFad.cpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Sacado Package
4 //
5 // Copyright 2006 NTESS and the Sacado contributors.
6 // SPDX-License-Identifier: LGPL-2.1-or-later
7 // *****************************************************************************
8 // @HEADER
9 
13 
14 // Re-test cuda with hierarchical cuda parallelism turned on (experimental)
15 #define SACADO_VIEW_CUDA_HIERARCHICAL_DFAD 1
16 #define SACADO_KOKKOS_USE_MEMORY_POOL 1
17 
19 
22 #undef VIEW_FAD_TESTS_FD
23 #define VIEW_FAD_TESTS_FD( F, D ) \
24  VIEW_FAD_TESTS_FLD( F, LeftContiguous32, D ) \
25  VIEW_FAD_TESTS_FLD( F, RightContiguous32, D )
26 
27 // Instantiate tests for Cuda device
28 #if defined(KOKKOS_ENABLE_CUDA_UVM) && SACADO_ENABLE_NEW_DESIGN
29 using Kokkos::Cuda;
31 #endif
32 
33 int main( int argc, char* argv[] ) {
34  Teuchos::GlobalMPISession mpiSession(&argc, &argv);
35 
36  // Initialize Cuda
37  Kokkos::InitializationSettings init_args;
38  init_args.set_device_id(0);
39  Kokkos::initialize( init_args );
40  Kokkos::print_configuration(std::cout);
41 
42 #if defined(SACADO_KOKKOS_USE_MEMORY_POOL)
44  Kokkos::Cuda(),
46  global_fad_size*sizeof(double),
47  4*global_fad_size*sizeof(double),
48  128*global_fad_size*sizeof(double));
49 #endif
50 
52 
53 #if defined(SACADO_KOKKOS_USE_MEMORY_POOL)
54  Sacado::destroyGlobalMemoryPool(Kokkos::Cuda());
55 #endif
56 
57  // Finalize Cuda
58  Kokkos::finalize();
59 
60  return res;
61 }
void createGlobalMemoryPool(const ExecSpace &space, const size_t min_total_alloc_size, const uint32_t min_block_alloc_size, const uint32_t max_block_alloc_size, const uint32_t min_superblock_size)
const int global_fad_size
Kokkos::LayoutContiguous< Kokkos::LayoutRight, 32 > RightContiguous32
const int global_num_rows
static int runUnitTestsFromMain(int argc, char *argv[])
const int global_num_cols
int main()
Definition: ad_example.cpp:171
void destroyGlobalMemoryPool(const ExecSpace &space)
Kokkos::LayoutContiguous< Kokkos::LayoutLeft, 32 > LeftContiguous32