[ARCHIVED] The C++ Standard Library for your entire system. See https://github.com/NVIDIA/cccl
Adds <cuda/std/span>
, <cuda/std/mdspan>
, and <cuda/std/concepts>
to libcu++.
We are excited to announce the release of libcudacxx 2.1. While there are no breaking changes in this release, we are increasing the semantic major version to better synchronize our release versions with Thrust and CUB repositories. This effort aims to better unify our libraries, and ensure that users can more easily determine which versions of each library are compatible with one another. We are making this change because we want to start thinking about these three projects not as independent libraries, but as three parts of a single, Core CUDA C++ Library (CCCL). In the near future, before the next release, we plan to merge the three libraries into a single monorepository at nvidia/cccl. We believe that this consolidation will make it even easier for users to take advantage of the powerful features and optimizations available in our CUDA libraries.
In an effort to modernize our codebase and introduce new features, we have consolidated the list of supported compilers. For 2.1.0 we support as host compilers the GNU Compiler Collection (gcc) down to version 7.5
and LLVMs clang down to version 7.1.0
.
Supported ABI Versions: 4 (default), 3, and 2.
cuda/std/span
and backport it to C++14cuda/std/mdspan
and backport it to C++14.
cuda/std/concepts
and backport them to C++14. You will be able to utilize C++20 concepts already in C++14/17 through existing SFINAE techniques.cuda::std::tuple
, cuda::std::pair
and cuda::std::array
.<nv/target>
in an example.<utility>
to populate tuple_size
.<type_traits>
.<iterator>
.initializer_list
.disjunction
for MSVC.<utility>
.cuda::
heterogeneous policy.atomic_ref
.<functional>
.{async_}resource_ref
.tuple
._EnableConstructor
in cuda::std::tuple
to be dependent on a template argument.unused
helper function into test_macros.h
.Adds float
and double
support to cuda::std::atomic
and cuda::atomic
.
This release also adds workflows for contributors based on Docker to improve testing and coverage.
Supported ABI Versions: 4 (default), 3, and 2.
cuda::proclaim_return_type
for use with extended lambda support in NVCC.-stdpar
.<compare>
.<atomic>
.<ciso646>
.<atomics>
Remove defaulted copy constructor from __cxx_atomic_lock_impl.barrier<thread_scope_block>
on sm_70.<chrono>
and <atomic>
build errors with clang-cuda.windows && pre-sm-70
.Adds float
and double
support to cuda::std::atomic
and cuda::atomic
.
This release also adds workflows for contributors based on Docker to improve testing and coverage.
Supported ABI Versions: 4 (default), 3, and 2.
cuda::proclaim_return_type
for use with extended lambda support in NVCC.-stdpar
.<compare>
.<atomic>
.<ciso646>
.<atomics>
Remove defaulted copy constructor from __cxx_atomic_lock_impl.barrier<thread_scope_block>
on sm_70.<chrono>
and <atomic>
build errors with clang-cuda.windows && pre-sm-70
.libcu++ 1.8.1 is a minor release. It fixes minor issues in source, tests, and documentation.
Supported ABI Versions: 4 (default), 3, and 2.
libcu++ 1.8.1 is a minor release. It fixes minor issues in source, tests, and documentation.
Supported ABI Versions: 4 (default), 3, and 2.
libcu++ 1.8.1 is a minor release. It fixes minor issues in source, tests, and documentation.
Supported ABI Versions: 4 (default), 3, and 2.
libcu++ 1.8.0 is a major release. It adds several constexpr
bit manipulation
functions from C++20's <bit>
to C++11 and up. Also added is cuda::std::array
providing fixed size arrays and iterators for both host and device code.
Supported ABI Versions: 4 (default), 3, and 2.
<cuda/std/bit>
and enable backports to C++11.<cuda/std/array>
and <cuda/std/iterator>
.find_package
and add_subdirectory
in CMake.<array>
tests and move __cuda_std__
escapes in <algorithm>
__annotated_ptr
for Clang 13.perform_tests
script.libcu++ 1.8.0 is a major release. It adds several constexpr
bit manipulation
functions from C++20's <bit>
to C++11 and up. Also added is cuda::std::array
providing fixed size arrays and iterators for both host and device code.
Supported ABI Versions: 4 (default), 3, and 2.
<cuda/std/bit>
and enable backports to C++11.<cuda/std/array>
and <cuda/std/iterator>
.find_package
and add_subdirectory
in CMake.libcu++ 1.8.0 is a major release. It adds several constexpr
bit manipulation
functions from C++20's <bit>
to C++11 and up. Also added is cuda::std::array
providing fixed size arrays and iterators for both host and device code.
Supported ABI Versions: 4 (default), 3, and 2.
<cuda/std/bit>
and enable backports to C++11.<cuda/std/array>
and <cuda/std/iterator>
.find_package
and add_subdirectory
in CMake.<array>
tests and move __cuda_std__
escapes in <algorithm>
__annotated_ptr
for Clang 13.perform_tests
script.libcu++ 1.8.0 is a major release. It adds several constexpr
bit manipulation
functions from C++20's <bit>
to C++11 and up. Also added is cuda::std::array
providing fixed size arrays and iterators for both host and device code.
Supported ABI Versions: 4 (default), 3, and 2.
<cuda/std/bit>
and enable backports to C++11.<cuda/std/array>
and <cuda/std/iterator>
.find_package
and add_subdirectory
in CMake.<array>
tests and move __cuda_std__
escapes in <algorithm>
__annotated_ptr
for Clang 13.perform_tests
script.