libcudacxx
libcudacxx copied to clipboard
[ARCHIVED] The C++ Standard Library for your entire system. See https://github.com/NVIDIA/cccl
[`std::mdspan`](https://wg21.link/P0009) is vocabulary type for a non-owning view of multi-dimensional data that is slated for addition to C++23. We should backport an implementation to `cuda::std::mdspan` in libcu++ to make it...
This requests `std::experimental::fixed_size_simd` and arithmetic operators to be added to libcu++. This would result in a unified, portable exposure of operations that are accelerated by vector operations in NVIDIA GPU...
Static array storage is commonly used in CUDA programs, and many folks simply resort to reinventing the wheel of `std::array` on the device. It would be highly desirable to have...
On commit 5d9c7123ae8ddb71cc13c14d7eea623b60ee436c, even a simple configure run does not work on openSUSE Tumbleweed x86_64. ``` » cmake . -- The CXX compiler identification is GNU 10.2.1 -- Detecting CXX...
I would like an optimized `cuda::memcpy` function that takes a CG to do the copy and handles alignment and doing vectorized copies when possible. Much of the machinery is already...
Since we're doing `std::variant` (#162), we probably ought to do `std::optional` as well.
What are the chances that one day I will be able to write the following: ``` #include #ifdef __NVCC__ #define FN_PREFIX __host__ __device__ #else #define FN_PREFIX #endif FN_PREFIX void flexible_foo(std::complex...
https://godbolt.org/z/5cPYbWTs8 An `atomic` shouldn't require an `operator==` to exist for `T` and should perform a bitwise equality comparison of the value representations. The problem is here: https://github.com/NVIDIA/libcudacxx/blob/53be5e3a56b8fc044574f85fc361ae5e34a3ef6b/include/cuda/std/detail/libcxx/include/atomic#L869 This should be...
We should add support for `cmath` https://en.cppreference.com/w/cpp/header/cmath
With libcudacxx 1.6.0, `nvcc -std=c++17 atomic_test.cu -arch=sm_70`, following code causes ``` atomic_test.cu(7): error C2338: device_uvector only supports types that are trivially copyable. atomic_test.cu(24): note: see reference to class template instantiation...