alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
trait.hpp
Go to the documentation of this file.
1/* Copyright 2025 René Widera
2 * SPDX-License-Identifier: MPL-2.0
3 */
4
5/** @file This file provides a basic implementation of a SIMD vector.
6 *
7 * The implementation is based on the class Vec:
8 * - the storge policy should become the native SIMD implementation e.g. std::simd
9 * - load/ store and simd specifis should be implemented in the storage policy
10 * - the name of storage policy should be changed
11 *
12 * The current operator operations relay on compilers auto vectorization.
13 */
14
15#pragma once
16
17#include "alpaka/api/api.hpp"
19
20#include <concepts>
21#include <type_traits>
22
23namespace alpaka
24{
25 namespace trait
26 {
27 /** Get the storage type for a SIMD pack */
28 template<concepts::Api T_Api, typename T_Type, uint32_t T_width>
29 struct GetSimdStorageType;
30
31 /** Get the storage type for a SIMD mask pack */
32 template<concepts::Api T_Api, typename T_Type, uint32_t T_width>
34 } // namespace trait
35} // namespace alpaka
main alpaka namespace.
Definition alpaka.hpp:76
Get the storage type for a SIMD mask pack.
Get the storage type for a SIMD pack.
Definition EmuSimd.hpp:250