Skip to content

Latest commit

 

History

History
197 lines (120 loc) · 4.77 KB

class_api.rst

File metadata and controls

197 lines (120 loc) · 4.77 KB

CoolerView

Header File: Kokkos_Core.hpp

Description

Interface

Non-Member Functions

Examples

#include <Kokkos_Core.hpp>
#include <cstdio>

int main(int argc, char* argv[]) {
   Kokkos::initialize(argc,argv);

   int N0 = atoi(argv[1]);
   int N1 = atoi(argv[2]);

   Kokkos::View<double*> a("A",N0);
   Kokkos::View<double*> b("B",N1);

   Kokkos::parallel_for("InitA", N0, KOKKOS_LAMBDA (const int& i) {
     a(i) = i;
   });

   Kokkos::parallel_for("InitB", N1, KOKKOS_LAMBDA (const int& i) {
     b(i) = i;
   });

   Kokkos::View<double**,Kokkos::LayoutLeft> c("C",N0,N1);
   {
     Kokkos::View<const double*> const_a(a);
     Kokkos::View<const double*> const_b(b);
     Kokkos::parallel_for("SetC", Kokkos::MDRangePolicy<Kokkos::Rank<2,Kokkos::Iterate::Left>>({0,0},{N0,N1}),
       KOKKOS_LAMBDA (const int& i0, const int& i1) {
       c(i0,i1) = a(i0) * b(i1);
     });
   }

   Kokkos::finalize();
}