Sacado Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Fad_KokkosTests_HIP_Hierarchical_DFad.cpp
Go to the documentation of this file.
1// @HEADER
2// ***********************************************************************
3//
4// Sacado Package
5// Copyright (2006) Sandia Corporation
6//
7// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
8// the U.S. Government retains certain rights in this software.
9//
10// This library is free software; you can redistribute it and/or modify
11// it under the terms of the GNU Lesser General Public License as
12// published by the Free Software Foundation; either version 2.1 of the
13// License, or (at your option) any later version.
14//
15// This library is distributed in the hope that it will be useful, but
16// WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18// Lesser General Public License for more details.
19//
20// You should have received a copy of the GNU Lesser General Public
21// License along with this library; if not, write to the Free Software
22// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
23// USA
24// Questions? Contact David M. Gay (dmgay@sandia.gov) or Eric T. Phipps
25// (etphipp@sandia.gov).
26//
27// ***********************************************************************
28// @HEADER
29#include "Teuchos_UnitTestHarness.hpp"
30#include "Teuchos_UnitTestRepository.hpp"
31#include "Teuchos_GlobalMPISession.hpp"
32
33// Re-test cuda with hierarchical cuda parallelism turned on (experimental)
34#define SACADO_VIEW_CUDA_HIERARCHICAL_DFAD 1
35#define SACADO_KOKKOS_USE_MEMORY_POOL 1
36
37#include "Fad_KokkosTests.hpp"
38
41#undef VIEW_FAD_TESTS_FDC
42#define VIEW_FAD_TESTS_FDC( F, D ) \
43 VIEW_FAD_TESTS_FLD( F, LeftContiguous64, D ) \
44 VIEW_FAD_TESTS_FLD( F, RightContiguous64, D )
45
46#undef VIEW_FAD_TESTS_SFDC
47#define VIEW_FAD_TESTS_SFDC( F, D ) \
48 VIEW_FAD_TESTS_SFLD( F, LeftContiguous64, D ) \
49 VIEW_FAD_TESTS_SFLD( F, RightContiguous64, D )
50
51// Instantiate tests for HIP device
52
53// ** Temporarily disable this test! ** The Memory Pool does not yet
54// work for DFads on HIP. See the file Sacado_DynamicArrayTriats.hpp
55// for cuda specializations that need to be mirrored into HIP.
56
57// using Kokkos::Experimental::HIP;
58// VIEW_FAD_TESTS_FDC( DFadType , HIP )
59
60int main( int argc, char* argv[] ) {
61 Teuchos::GlobalMPISession mpiSession(&argc, &argv);
62
63 // Initialize Cuda
64 Kokkos::InitializationSettings init_args;
65 init_args.set_device_id(0);
66 Kokkos::initialize( init_args );
67 Kokkos::print_configuration(std::cout);
68
69#if defined(SACADO_KOKKOS_USE_MEMORY_POOL)
71 Kokkos::Experimental::HIP(),
73 global_fad_size*sizeof(double),
74 4*global_fad_size*sizeof(double),
75 256*global_fad_size*sizeof(double));
76#endif
77
78 int res = Teuchos::UnitTestRepository::runUnitTestsFromMain(argc, argv);
79
80#if defined(SACADO_KOKKOS_USE_MEMORY_POOL)
81 Sacado::destroyGlobalMemoryPool(Kokkos::Experimental::HIP());
82#endif
83
84 // Finalize Cuda
85 Kokkos::finalize();
86
87 return res;
88}
const int global_fad_size
const int global_num_rows
const int global_num_cols
Kokkos::LayoutContiguous< Kokkos::LayoutRight, 64 > RightContiguous64
Kokkos::LayoutContiguous< Kokkos::LayoutLeft, 64 > LeftContiguous64
int main()
Definition: ad_example.cpp:191
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)
void destroyGlobalMemoryPool(const ExecSpace &space)