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.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 1
16 #define SACADO_VIEW_CUDA_HIERARCHICAL_DFAD_STRIDED 1
17 #define SACADO_KOKKOS_USE_MEMORY_POOL 1
18 
19 #include "Kokkos_Macros.hpp"
20 
21 #define SACADO_TEST_DFAD 1
22 
24 
27 #undef VIEW_FAD_TESTS_FD
28 #define VIEW_FAD_TESTS_FD( F, D ) \
29  VIEW_FAD_TESTS_FLD( F, LeftContiguous32, D ) \
30  VIEW_FAD_TESTS_FLD( F, RightContiguous32, D )
31 
32 // Instantiate tests for Cuda device
33 using Kokkos::Cuda;
34 VIEW_FAD_TESTS_D( Cuda )
35 
36 int main( int argc, char* argv[] ) {
37  Teuchos::GlobalMPISession mpiSession(&argc, &argv);
38 
39  // Initialize Cuda
40  Kokkos::InitializationSettings init_args;
41  init_args.set_device_id(0);
42  Kokkos::initialize( init_args );
43  Kokkos::print_configuration(std::cout);
44 
45 #if defined(SACADO_KOKKOS_USE_MEMORY_POOL)
47  Kokkos::Cuda(),
49  global_fad_size*sizeof(double),
50  4*global_fad_size*sizeof(double),
51  128*global_fad_size*sizeof(double)
52  );
53 #endif
54 
56 
57 #if defined(SACADO_KOKKOS_USE_MEMORY_POOL)
58  Sacado::destroyGlobalMemoryPool(Kokkos::Cuda());
59 #endif
60 
61  // Finalize Cuda
62  Kokkos::finalize();
63 
64  return res;
65 }
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)
#define VIEW_FAD_TESTS_D(D)
Kokkos::LayoutContiguous< Kokkos::LayoutLeft, 32 > LeftContiguous32