Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
0b4ccfe
more operations
fbusato Nov 20, 2025
9e46a30
fixes
fbusato Nov 20, 2025
dd6599a
other fixes
fbusato Nov 20, 2025
a917c30
add simd_mask
fbusato Nov 20, 2025
443837a
remove explicit
fbusato Nov 20, 2025
f702a01
follow the standard
fbusato Nov 21, 2025
d1d7bec
reduce redundancy
fbusato Nov 21, 2025
21bb217
headers and explicit usage
fbusato Nov 21, 2025
c2a9d1c
add simd_mask generator
fbusato Nov 21, 2025
523a7c4
fix initialization
fbusato Nov 21, 2025
8bf8783
formatting
fbusato Nov 21, 2025
e5e67bb
reduce redundancy
fbusato Nov 21, 2025
4ebcb5d
working unit test
fbusato Nov 21, 2025
489d3f3
fix semantic
fbusato Nov 21, 2025
b66bf7e
add simd::scalar
fbusato Nov 21, 2025
fd23872
use bool as mask_storage
fbusato Nov 21, 2025
3b3a50e
simplify __simd_reference
fbusato Nov 21, 2025
5458cf7
header cleanup
fbusato Nov 22, 2025
f672929
fix c++17
fbusato Nov 24, 2025
2b5d84e
fix MSVC warning
fbusato Nov 24, 2025
e7d976c
formatting
fbusato Nov 24, 2025
4c2d8b8
fix macro names
fbusato Nov 24, 2025
9e4ba7c
fix count() signature
fbusato Nov 24, 2025
ebaef4a
Merge branch 'main' into experimental-simd
fbusato Dec 23, 2025
6d6be22
draft refactor
fbusato Dec 24, 2025
47bdf7b
add ctor constrains
fbusato Jan 6, 2026
4d02350
Merge branch 'main' into experimental-simd
fbusato Mar 25, 2026
7f878a8
Merge branch 'experimental-simd' of github.com:fbusato/cccl into expe…
fbusato Mar 25, 2026
06020eb
refactor to match std::simd
fbusato Mar 25, 2026
5e019b6
implemented fixed_size_simple_mask
fbusato Mar 25, 2026
4b324db
use fixed_size_simple ABI
fbusato Mar 25, 2026
71d8840
implemented basic_vec
fbusato Mar 30, 2026
48de365
reduction implementation
fbusato Mar 31, 2026
6c1bf79
load and store
fbusato Mar 31, 2026
8b69b68
a few fixes
fbusato Mar 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions cudax/include/cuda/experimental/__simd/abi.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
//===----------------------------------------------------------------------===//
//
// Part of CUDA Experimental in CUDA C++ Core Libraries,
// under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES.
//
//===----------------------------------------------------------------------===//

#ifndef _CUDAX___SIMD_ABI_H
#define _CUDAX___SIMD_ABI_H

#include <cuda/std/detail/__config>

#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC)
# pragma GCC system_header
#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG)
# pragma clang system_header
#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC)
# pragma system_header
#endif // no system header

#include <cuda/std/__cstddef/types.h>

#include <cuda/std/__cccl/prologue.h>

namespace cuda::experimental::simd
{
using __simd_size_type = ::cuda::std::ptrdiff_t;

// [simd.expos.abi], simd ABI tags
namespace simd_abi
{
template <__simd_size_type _Np>
struct __fixed_size_simple; // internal ABI tag

template <__simd_size_type _Np>
using fixed_size_simple = __fixed_size_simple<_Np>; // implementation-defined ABI

template <typename>
using native = fixed_size_simple<1>; // implementation-defined ABI

template <typename, __simd_size_type _Np>
using __deduce_abi_t = fixed_size_simple<_Np>; // exposition-only
} // namespace simd_abi
} // namespace cuda::experimental::simd

#include <cuda/std/__cccl/epilogue.h>

#endif // _CUDAX___SIMD_ABI_H
Loading
Loading