alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
scan.hpp File Reference
#include "alpaka/CVec.hpp"
#include "alpaka/Simd.hpp"
#include "alpaka/Vec.hpp"
#include "alpaka/core/common.hpp"
#include "alpaka/onAcc/Acc.hpp"
#include "alpaka/onAcc/SimdAlgo.hpp"
#include "alpaka/onAcc/warp.hpp"
#include "alpaka/onHost/interface.hpp"
#include "alpaka/onHost/logger/logger.hpp"
#include "alpaka/trait.hpp"
#include <array>
#include <cstddef>
#include <tuple>
#include <type_traits>
#include <typeinfo>

Go to the source code of this file.

Classes

class  alpaka::onHost::internal::Scan_AddIncrementsKernel< T_Idx >
class  alpaka::onHost::internal::Scan_ScanBlocksKernel< SCAN_TYPE, T_Idx, T_Data >

Namespaces

namespace  alpaka
 main alpaka namespace.
namespace  alpaka::onHost
 Functionality which is usable on the host CPU controller thread.
namespace  alpaka::onHost::internal

Enumerations

enum  alpaka::onHost::internal::ScanType {
  alpaka::onHost::internal::EXCLUSIVE_SCAN ,
  alpaka::onHost::internal::INCLUSIVE_SCAN
}

Functions

template<typename T_Idx, typename T_Data>
ALPAKA_FN_ACC void alpaka::onHost::internal::addIncrements (T_Data *block, T_Data const &blockSum, alpaka::concepts::CVector< T_Idx > auto const &extent)
template<typename T_Acc, typename T_Idx>
constexpr T_Idx alpaka::onHost::internal::conflictFreeAccess (T_Idx const &n)
template<alpaka::concepts::DeviceKind TDeviceKind, typename T_Idx, typename T_Data>
consteval T_Idx alpaka::onHost::internal::maximumMiniBlockSize ()
template<ScanType SCAN_TYPE>
void alpaka::onHost::internal::scan (auto &queue, alpaka::onHost::concepts::Device auto &devAcc, alpaka::concepts::Executor auto &exec, alpaka::concepts::IMdSpan auto &buffer, alpaka::concepts::IMdSpan auto &outputVec, alpaka::concepts::IDataSource auto &inputVec)
template<ScanType SCAN_TYPE>
void alpaka::onHost::internal::scan (auto &queue, alpaka::onHost::concepts::Device auto &devAcc, alpaka::concepts::Executor auto &exec, alpaka::concepts::IMdSpan auto &outputVec, alpaka::concepts::IDataSource auto const &inputVec)
template<typename T_Data>
auto alpaka::onHost::internal::scanBufferSize (alpaka::concepts::Vector auto const &extents)
template<typename T_Data>
auto alpaka::onHost::internal::scanBufferSize (std::integral auto const &extent)
template<typename T_Idx, typename T_Data>
ALPAKA_FN_ACC T_Data alpaka::onHost::internal::scanMiniBlock (T_Data *block, alpaka::concepts::CVector< T_Idx > auto const &extent)

Variables

constexpr std::size_t alpaka::onHost::internal::chunkSize = 2048u