NVIDIA 开源 C++ 标准库 Libcu++
(给CPP开发者加星标,提升C/C++技能)
来源:开源中国
NVIDIA 已将其 C++ 标准库 libcu++ 在 GitHub 上开源,libcu++ 去年作为 CUDA C++ 标准库被推出,属于 CUDA 10.2 的一部分。它不仅与支持 NVIDIA CUDA 的配置搭配使用,还支持与 CPU 搭配使用 。
NVIDIA 的 libcu++ fork 自 LLVM 的 libc++ 标准库。作为 CUDA C++ 标准库,libcu++ 在过去的一年里已经初具规模,并在此后不断改进,拥有了更多的功能。
作为 NVIDIA C++ 标准库,libcu++ 提供了 C++ 标准库的异构实现,可以在 CPU 和 GPU 代码之间使用。如果有使用 C++ 标准库的经验,相信很快就能上手 libcu++,首先需要在标准库 includes 的开头添加cuda/std/
,在使用 std::
之前添加cuda::
:
#include <cuda/std/atomic>
cuda::std::atomic<int> x;
NVIDIA C++ 标准库包含在 NVIDIA HPC SDK 和 CUDA 工具包中,无需额外的安装或编译器标志。
NVIDIA 此前曾说过会将其所有为 libcu++ 进行的更改贡献给上游的 LLVM libc++,但目前来看尚未实现,因此 libcu++ 作为 CUDA 和 CPU 配置的 C++ 标准库,相信其本身有可取之处。
事实上,libcu++ 一开始就注定要开源,只是目前花费的时间比预期的长。现在更值得关注的是,NVIDIA 是否会兑现向上游 LLVM libc++ 贡献 libcu++ 代码的承诺,或者 libcu++ 在特定的 CUDA 重点之外本身是否已被广泛采用。
https://github.com/NVIDIA/libcudacxx
- EOF -
看完本文有帮助?请分享给更多人
关注「CPP开发者」加星标,提升C/C++技能
好文章,我在看❤️