IT资讯 NVIDIA 开源 C++ 标准库 Libcu++

sanford · 2020-09-23 09:30:06 · 热度: 52

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 重点之外本身是否已被广泛采用。

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册