gpt4 book ai didi

c++ - CUDA NSight c++11 (Ubuntu 14.04)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:51:47 26 4
gpt4 key购买 nike

我阅读了 CUDA 编程指南并查看了此处的许多链接,包括以下内容: Eclipse/Nsight (7.0) and C++11 support

但无法让事情正常进行。我正在使用 CUDA 7.O,文档(CUDA 编程指南,第 187 页)说 gcc >=4.7 & clang 支持 -std=cc++11。使用 gcc 4.8.2(操作系统:Ubuntu 14.04)运行,尽管转到项目 -> 属性 -> NVCC 编译器 -> build设置 -> 预处理器选项(-Xcompiler)并添加 -std=c++11 我得到各种错误。请参阅下面控制台的局部输出(在最底部,请参阅“nullptr”未定义)。我花了 5 个小时查看并尝试了一些建议的解决方案以及 nvidia 开发论坛和 stackoverflow 的链接,但尚未找到解决方案。在哪里正确设置标志?

部分控制台输出:

 1. 15:29:39 **** Build of configuration Debug for project
Test-Dynamic-Parallelism-ComputeCap5 **** make all Building file:
../src/cdpAdvancedQuicksort.cu Invoking: NVCC Compiler
/usr/local/cuda-7.0/bin/nvcc
-I"/usr/local/cuda-7.0/samples/6_Advanced" -I"/usr/local/cuda-7.0/samples/common/inc" -G -g -O0 -v -Xcompiler -fPIC -Xcompiler -std=c++11 -gencode arch=compute_50,code=sm_50 -odir "src" -M -o "src/cdpAdvancedQuicksort.d" "../src/cdpAdvancedQuicksort.cu"
#$ _SPACE_=
#$ _CUDART_=cudart
#$ _HERE_=/usr/local/cuda-7.0/bin
#$ _THERE_=/usr/local/cuda-7.0/bin
#$ _TARGET_SIZE_=
#$ _TARGET_DIR_=
#$ _TARGET_DIR_=targets/x86_64-linux
#$ TOP=/usr/local/cuda-7.0/bin/..
#$ NVVMIR_LIBRARY_DIR=/usr/local/cuda-7.0/bin/../nvvm/libdevice
#$ LD_LIBRARY_PATH=/usr/local/cuda-7.0/bin/../lib::/usr/local/cuda-7.0/bin/../lib:/usr/local/cuda-7.0/bin/../lib64
#$ PATH=/usr/local/cuda-7.0/bin/../open64/bin:/usr/local/cuda-7.0/bin/../nvvm/bin:/usr/local/cuda-7.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/cuda-7.0/bin:/usr/local/lib:/usr/local/cuda-7.0/bin
#$ INCLUDES="-I/usr/local/cuda-7.0/bin/../targets/x86_64-linux/include"
#$ LIBRARIES= "-L/usr/local/cuda-7.0/bin/../targets/x86_64-linux/lib/stubs"
"-L/usr/local/cuda-7.0/bin/../targets/x86_64-linux/lib"
--no_remove_unneeded_entities --debug_mode --device-c --gen_c_file_name "/tmp/tmpxft_00001a46_00000000-4_cdpAdvancedQuicksort.cudafe1.c"
--stub_file_name "/tmp/tmpxft_00001a46_00000000-4_cdpAdvancedQuicksort.cudafe1.stub.c"
--gen_device_file_name "/tmp/tmpxft_00001a46_00000000-4_cdpAdvancedQuicksort.cudafe1.gpu"
--nv_arch "compute_50" --gen_module_id_file --module_id_file_name "/tmp/tmpxft_00001a46_00000000-3_cdpAdvancedQuicksort.module_id"
--include_file_name "tmpxft_00001a46_00000000-2_cdpAdvancedQuicksort.fatbin.c"
"/tmp/tmpxft_00001a46_00000000-7_cdpAdvancedQuicksort.cpp1.ii"
/usr/lib/gcc/x86_64-linux
-gnu/4.8/include/stddef.h(432): error: identifier "nullptr" is undefined

最佳答案

这是错误的:

-Xcompiler -std=c++11

只需使用它,作为到 nvcc 的切换:

-std=c++11

nvcc 将处理 gcc/g++ 所需的必要上游开关。

您可以通过以下顺序在 CUDA 7 版本的 nsight eclipse 版本中“自动”执行此操作:

项目...属性...构建(展开子菜单)...设置...工具设置...NVCC 编译器(展开子菜单)...代码生成

并选中“启用 C++11 支持”复选框。 (还有其他方法,例如直接转到“NVCC 编译器”页面并在“所有选项”上手动添加开关)

这里:

nsight EE project properties page

关于c++ - CUDA NSight c++11 (Ubuntu 14.04),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29736820/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com