Sacado Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Fad_KokkosTests_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 
18 #include "Fad_KokkosTests.hpp"
19 
22 #undef VIEW_FAD_TESTS_FDC
23 #define VIEW_FAD_TESTS_FDC( F, D ) \
24  VIEW_FAD_TESTS_FLD( F, LeftContiguous32, D ) \
25  VIEW_FAD_TESTS_FLD( F, RightContiguous32, D )
26 
27 #undef VIEW_FAD_TESTS_SFDC
28 #define VIEW_FAD_TESTS_SFDC( F, D ) \
29  VIEW_FAD_TESTS_SFLD( F, LeftContiguous32, D ) \
30  VIEW_FAD_TESTS_SFLD( F, RightContiguous32, D )
31 
32 // Instantiate tests for Cuda device
33 #if defined(KOKKOS_ENABLE_CUDA_UVM)
34 using Kokkos::Cuda;
36 #endif
37 
38 int main( int argc, char* argv[] ) {
39  Teuchos::GlobalMPISession mpiSession(&argc, &argv);
40 
41  // Initialize Cuda
42  Kokkos::InitializationSettings init_args;
43  init_args.set_device_id(0);
44  Kokkos::initialize( init_args );
45  Kokkos::print_configuration(std::cout);
46 
47 #if defined(SACADO_KOKKOS_USE_MEMORY_POOL)
49  Kokkos::Cuda(),
51  global_fad_size*sizeof(double),
52  4*global_fad_size*sizeof(double),
53  128*global_fad_size*sizeof(double));
54 #endif
55 
57 
58 #if defined(SACADO_KOKKOS_USE_MEMORY_POOL)
59  Sacado::destroyGlobalMemoryPool(Kokkos::Cuda());
60 #endif
61 
62  // Finalize Cuda
63  Kokkos::finalize();
64 
65  return res;
66 }
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
#define VIEW_FAD_TESTS_FDC(F, D)
void destroyGlobalMemoryPool(const ExecSpace &space)
Kokkos::LayoutContiguous< Kokkos::LayoutLeft, 32 > LeftContiguous32