29#include "Teuchos_UnitTestHarness.hpp"
30#include "Teuchos_UnitTestRepository.hpp"
31#include "Teuchos_GlobalMPISession.hpp"
33#include "Kokkos_Macros.hpp"
35#define SACADO_TEST_DFAD 1
45 const int StaticDim = 64;
46 const int Stride = 32;
47 const int LocalDim = 2;
50 typedef Kokkos::Cuda Device;
51 typedef Kokkos::View<FadType*,Layout,Device> ViewType;
53 typedef typename ViewType::traits TraitsType;
54 typedef Kokkos::Impl::ViewMapping< TraitsType , typename TraitsType::specialize > MappingType;
55 const int view_static_dim = MappingType::FadStaticDimension;
56 TEUCHOS_TEST_EQUALITY(view_static_dim, StaticDim, out, success);
58 typedef typename Kokkos::ThreadLocalScalarType<ViewType>::type local_fad_type;
61 TEUCHOS_TEST_EQUALITY(issfd,
true, out, success);
62 TEUCHOS_TEST_EQUALITY(static_dim, LocalDim, out, success);
64 const size_t num_rows = 11;
65 const size_t fad_size = StaticDim;
67 ViewType v(
"v", num_rows, fad_size+1);
68 const size_t span = v.span();
69 TEUCHOS_TEST_EQUALITY(span, num_rows*(StaticDim+1), out, success);
74 const int StaticDim = 50;
75 const int Stride = 32;
76 const int LocalDim = 0;
79 typedef Kokkos::Cuda Device;
80 typedef Kokkos::View<FadType*,Layout,Device> ViewType;
82 typedef typename ViewType::traits TraitsType;
83 typedef Kokkos::Impl::ViewMapping< TraitsType , typename TraitsType::specialize > MappingType;
84 const int view_static_dim = MappingType::FadStaticDimension;
85 TEUCHOS_TEST_EQUALITY(view_static_dim, StaticDim, out, success);
87 typedef typename Kokkos::ThreadLocalScalarType<ViewType>::type local_fad_type;
90 TEUCHOS_TEST_EQUALITY(issfd,
false, out, success);
91 TEUCHOS_TEST_EQUALITY(static_dim, LocalDim, out, success);
93 const size_t num_rows = 11;
94 const size_t fad_size = StaticDim;
96 ViewType v(
"v", num_rows, fad_size+1);
97 const size_t span = v.span();
98 TEUCHOS_TEST_EQUALITY(span, num_rows*(StaticDim+1), out, success);
101int main(
int argc,
char* argv[] ) {
102 Teuchos::GlobalMPISession mpiSession(&argc, &argv);
105 Kokkos::InitializationSettings init_args;
106 init_args.set_device_id(0);
107 Kokkos::initialize( init_args );
108 Kokkos::print_configuration(std::cout);
110 int res = Teuchos::UnitTestRepository::runUnitTestsFromMain(argc, argv);
#define VIEW_FAD_TESTS_D(D)
TEUCHOS_UNIT_TEST(Kokkos_View_Fad, SFadCudaAligned)
Sacado::Fad::DFad< double > FadType
Base template specification for static size.