Nalu
Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of energy applications of interest (most notably Wind ECP) built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack. The open source BSD, clause 3 license model has been chosen for the code base. See LICENSE for more information. http://NaluCFD.org
Namespaces | Typedefs | Functions
KokkosInterface.h File Reference
#include <stk_mesh/base/Entity.hpp>
#include <Kokkos_Core.hpp>

Go to the source code of this file.

Namespaces

 sierra
 
 sierra::nalu
 

Typedefs

using sierra::nalu::HostSpace = Kokkos::HostSpace
 
using sierra::nalu::DeviceSpace = Kokkos::DefaultExecutionSpace
 
using sierra::nalu::DeviceShmem = DeviceSpace::scratch_memory_space
 
using sierra::nalu::DynamicScheduleType = Kokkos::Schedule< Kokkos::Dynamic >
 
using sierra::nalu::TeamHandleType = Kokkos::TeamPolicy< DeviceSpace, DynamicScheduleType >::member_type
 
template<typename T >
using sierra::nalu::SharedMemView = Kokkos::View< T, Kokkos::LayoutRight, DeviceShmem, Kokkos::MemoryUnmanaged >
 
using sierra::nalu::DeviceTeamPolicy = Kokkos::TeamPolicy< DeviceSpace >
 
using sierra::nalu::DeviceTeam = DeviceTeamPolicy::member_type
 

Functions

DeviceTeamPolicy sierra::nalu::get_team_policy (const size_t sz, const size_t bytes_per_team, const size_t bytes_per_thread)
 
SharedMemView< int * > sierra::nalu::get_int_shmem_view_1D (const TeamHandleType &team, size_t len)
 
SharedMemView< stk::mesh::Entity * > sierra::nalu::get_entity_shmem_view_1D (const TeamHandleType &team, size_t len)
 
template<typename T >
SharedMemView< T * > sierra::nalu::get_shmem_view_1D (const TeamHandleType &team, size_t len)
 
template<typename T >
SharedMemView< T ** > sierra::nalu::get_shmem_view_2D (const TeamHandleType &team, size_t len1, size_t len2)
 
template<typename T >
SharedMemView< T *** > sierra::nalu::get_shmem_view_3D (const TeamHandleType &team, size_t len1, size_t len2, size_t len3)
 
template<typename SizeType , class Function >
void sierra::nalu::kokkos_parallel_for (const std::string &debuggingName, SizeType n, Function loop_body)
 
template<typename SizeType , class Function , typename ReduceType >
void sierra::nalu::kokkos_parallel_reduce (SizeType n, Function loop_body, ReduceType &reduce, const std::string &debuggingName)