alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
include
alpaka
simd
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
"
18
#include "
alpaka/api/concepts/api.hpp
"
19
20
#include <concepts>
21
#include <type_traits>
22
23
namespace
alpaka
24
{
25
namespace
trait
26
{
27
/** Get the storage type for a SIMD pack */
28
template
<concepts::Api T_Api,
typename
T_Type, u
int
32_t T_w
id
th>
29
struct
GetSimdStorageType
;
30
31
/** Get the storage type for a SIMD mask pack */
32
template
<concepts::Api T_Api,
typename
T_Type, u
int
32_t T_w
id
th>
33
struct
GetSimdMaskStorageType
;
34
}
// namespace trait
35
}
// namespace alpaka
api.hpp
api.hpp
alpaka::trait
Definition
api.hpp:21
alpaka
main alpaka namespace.
Definition
alpaka.hpp:76
alpaka::trait::GetSimdMaskStorageType
Get the storage type for a SIMD mask pack.
Definition
EmuSimdMask.hpp:214
alpaka::trait::GetSimdStorageType
Get the storage type for a SIMD pack.
Definition
EmuSimd.hpp:250
Generated on
for alpaka by
1.16.1