NVIDIA 开源 C++ 标准库 Libcu++

2020年09月23日

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

展开阅读全文
13 收藏
分享
加载中
精彩评论
标准库应该没有多少可以加速的部分,倒是线性代数之类的库需要。
2020-09-23 11:32
1
举报
llvm是苹果主导的,和nvidia是冤家。。
2020-09-23 11:22
1
举报
最新评论 (3)
标准库应该没有多少可以加速的部分,倒是线性代数之类的库需要。
2020-09-23 11:32
1
回复
举报
llvm是苹果主导的,和nvidia是冤家。。
2020-09-23 11:22
1
回复
举报
记录一下,以后试试
2020-09-23 10:36
0
回复
举报
更多评论
3 评论
13 收藏
分享
返回顶部
顶部