alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
BoundaryIter.hpp File Reference
#include "alpaka/CVec.hpp"
#include "alpaka/Vec.hpp"
#include "alpaka/api/api.hpp"
#include "alpaka/api/host/Api.hpp"
#include "alpaka/concepts.hpp"
#include "alpaka/core/Assert.hpp"
#include "alpaka/utility.hpp"
#include <ostream>

Go to the source code of this file.

Classes

struct  alpaka::BoundaryDirection< T_dim, T_LowHaloVec, T_UpHaloVec >
 An n-dimensional boundary direction. More...
struct  alpaka::BoundaryDirectionIter< T_dim, T_LowHaloVec, T_UpHaloVec >
 The iterator type for BoundaryDirectionsContainer. More...
struct  alpaka::BoundaryDirectionsContainer< T_dim, T_LowHaloVec, T_UpHaloVec >
 A container for boundary directions of an n-dimensional volume. More...
struct  alpaka::trait::IsBoundaryDirection< T >
struct  alpaka::trait::IsBoundaryDirection< BoundaryDirection< T_dim, T_LowHaloVec, T_UpHaloVec > >

Namespaces

namespace  alpaka
 main alpaka namespace.
namespace  alpaka::concepts
namespace  alpaka::trait

Concepts

concept  alpaka::concepts::BoundaryDirection
 Concept checking whether T is a boundary direction.

Enumerations

enum class  alpaka::BoundaryType : uint32_t {
  alpaka::LOWER ,
  alpaka::MIDDLE ,
  alpaka::UPPER ,
  alpaka::OOB
}
 An enum representing the different types of boundary, with LOWER, MIDDLE, and UPPER being valid states, and OOB being invalid (out-of-bounds). More...

Functions

template<concepts::Vector LowHaloVecType, concepts::Vector UpHaloVecType>
 alpaka::BoundaryDirectionsContainer (LowHaloVecType const &lowerHalos, UpHaloVecType const &upperHalos) -> BoundaryDirectionsContainer< LowHaloVecType::dim(), LowHaloVecType, UpHaloVecType >
template<uint32_t T_dim>
constexpr auto alpaka::makeBoundaryDirIterator ()
 Construct and return a BoundaryDirectionsContainer.
constexpr auto alpaka::makeBoundaryDirIterator (concepts::IView auto const &view)
 Construct and return a BoundaryDirectionsContainer for the given view with default (size 1) halo sizes.
constexpr auto alpaka::makeBoundaryDirIterator (concepts::Vector auto const &haloSizes)
 Construct and return a boundary direction container with the given halo sizes.
constexpr auto alpaka::makeBoundaryDirIterator (concepts::Vector auto const &lowerHaloSizes, concepts::Vector auto const &upperHaloSizes)
 Construct and return a BoundaryDirectionsContainer with the given halo sizes.
template<uint32_t T_dim>
consteval auto alpaka::makeCoreBoundaryDirection ()
 Construct and return a single BoundaryDirection specifying the middle of a volume with all halo sizes set to 1.
template<uint32_t T_dim>
constexpr auto alpaka::makeCoreBoundaryDirection (concepts::Vector auto const &halos)
 Construct and return a single BoundaryDirection specifying the middle of a volume with symmetric halos.
template<uint32_t T_dim>
constexpr auto alpaka::makeCoreBoundaryDirection (concepts::Vector auto const &lowerHalos, concepts::Vector auto const &upperHalos)
 Construct and return a single BoundaryDirection specifying the middle of a volume.
std::ostream & alpaka::operator<< (std::ostream &os, concepts::BoundaryDirection auto const &bd)

Variables

template<typename T>
constexpr bool alpaka::isBoundaryDirection_v = trait::IsBoundaryDirection<T>::value