libcu++是NVIDIA开源的C++标准库,提供了C++标准库的异构实现,可以在CPU和GPU代码之间使用。如果有使用C++标准库的经验,相信很快就能上手libcu++,首先需要在标准库includes的开头添加cuda/std/,在使用 std::之前添加cuda:::
#include<cuda/std/atomic>cuda::std::atomic<int>x;NVIDIAC++标准库包含在NVIDIAHPCSDK和CUDA工具包中,无需额外的安装或编译器标志。
libcu++fork自 LLVM的libc++ 标准库。作为CUDAC++标准库,libcu++在过去的一年里已经初具规模,并在此后不断改进,拥有了更多的功能。
示例代码
//StandardC++,__host__only.#include<atomic>std::atomic<int>x;//CUDAC++,__host____device__.//StrictlyconformingtotheC++Standard.#include<cuda/std/atomic>cuda::std::atomic<int>x;//CUDAC++,__host____device__.//ConformingextensionstotheC++Standard.#include<cuda/atomic>cuda::atomic<int,cuda::thread_scope_block>x;
评论