草庐IT

cuda-gdb

全部标签

c++ - 在 CUDA 内核中使用 char 变量会受到惩罚吗?

我似乎记得得到提示,我应该尽量避免在CUDA内核中使用char,因为SM喜欢32位整数。使用它们会有一些速度损失吗?比如做起来是不是比较慢inta[4];intb=a[0]+a[1]+a[2]+a[3];a[1]=a[3];a2[0]=a[0]比chara[4];charb=a[0]+a[1]+a[2]+a[3];a[1]=a[3];a2[0]=a[0]在内核代码中?注意事项:我对使用char值进行算术运算、执行比较以及将它们读写到内存中的惩罚很感兴趣。 最佳答案 预先快速说明:在C/C++中,char的符号是实现定义的。当使用ch

【ubuntu查看显卡、配置显卡、cuda、cudnn】

首先检查系统是否有支持CUDA编程的GPU。可使用lspci|grep-invidia01:00.0VGAcompatiblecontroller:NVIDIACorporationTU102[GeForceRTX2080Ti](reva1)01:00.1Audiodevice:NVIDIACorporationTU102HighDefinitionAudioController(reva1)01:00.2USBcontroller:NVIDIACorporationTU102USB3.1HostController(reva1)01:00.3Serialbuscontroller:NVIDI

c++ - 编译 Cuda 时出错 - 预期的主表达式

这个程序似乎没问题,但我仍然遇到错误,有什么建议吗?程序:#include"dot.h"#include#include#includeintmain(intargc,char**argv){int*a,*b,*c;int*dev_a,*dev_b,*dev_c;intsize=N*sizeof(int);cudaMalloc((void**)&dev_a,size);cudaMalloc((void**)&dev_b,size);cudaMalloc((void**)&dev_c,sizeof(int));a=(int*)malloc(size);b=(int*)malloc(siz

c++ - 使用gdb的C++多态类中的vtable

这个问题在这里已经有了答案:PrintC++vtablesusingGDB(5个答案)关闭6年前。如何使用指向具有虚函数的基类对象的指针来显示虚表?

c++ - 在 nvidia cuda 内核中创建数组

嗨,我只是想知道是否可以在nvidiacuda内核中执行以下操作__global__voidcompute(long*c1,longsize,...){...longd[1000];...}或以下__global__voidcompute(long*c1,longsize,...){...longd[size];...} 最佳答案 你可以做第一个例子,我没试过第二个。但是,如果可以的话,您可能希望重新设计您的程序以不这样做。您不想在内核中分配4000字节的内存。这将导致大量使用CUDA本地内存,因为您将无法将所有内容都放入寄存器中。

c++ - 配置 netbeans 8.0 gdb 以使用 gradle cpp 插件

最近我从Windows7中的VisualStudio切换到带有Netbeans8.0(C++)的Ubuntu。从那时起,我在从NetBeans调试我的应用程序时遇到了很大的问题(gdb工作得很好)。我用gradle编写了helloworldc++来演示我的问题。我花了很多时间,但没有任何重大进展。Gradle项目build.gradle:applyplugin:'cpp'executables{helloWorld}binaries.all{cppCompiler.args"-g"}主要.cpp:#include#includeintmain(void){inta=10;intb=12

c++ - Eclipse 是否有任何增强的 gdb 控制台?

目前Eclipse的gdb控制台只是连接javagui和底层gdb进程之间的标准输入/标准输出,因此缺少许多gdbshell功能,例如制表符自动完成、命令历史记录等。我想知道是否有用于快速gdb交互的增强型控制台。我真的很喜欢经常使用的gdb命令,如“print”和“call”等。恕我直言,“print”命令有时比Eclipse的“Expressionwatcher”更高级,因为它只执行一次,以后会随时评估并崩溃-易于。如果您认为没有必要使用gdb控制台,那么您在gdbUI到eclipseUI传输方面的最佳实践是什么。 最佳答案 除

Linux之基础开发工具gdb调试器的使用(三)

文章目录一、Linux调试器-gdb使用1、安装gdb2、背景3、Debug和release4、区分Debug和release二、Linux调试器-gdb命令演示1、显示指定行之后的代码(自动记录最后一条指令)2、断点1、打印断点2、查看断点3、删除断点4、使能(禁用/开启)断点3、直接运行结束4、逐过程(f10)、逐语句(f11)5、显示内容6、范围查找7、查看调用堆栈总结一、Linux调试器-gdb使用1、安装gdbyuminstall-ygdb2、背景程序的发布方式有两种,debug模式和release模式Linuxgcc/g++出来的二进制程序,默认是release模式,release

MMDetection报错解决:(1)在验证和测试时CUDA out of memory;(2)验证和测试时mAP全为0

目录一.环境二.验证和测试时OOM(CUDAoutofmemory)2.1问题描述2.2初步分析2.3初步解决2.3.1gpu->cpu(OK但巨慢)2.3.2no-validate(不起作用,离线测试时依旧OOM)2.3.3rescale(OK但mAP=0)三.验证和测试时mAP全为03.1原因3.2RLE编码3.3实现效果3.4存在问题3.5修改细节一.环境OS:Ubuntu18.04CUDA:11.0mmcv-full:1.7.0mmdet:2.25.1GPU:1080Ti*4二.验证和测试时OOM(CUDAoutofmemory)2.1问题描述        在使用MMDetectio

c++ - 一个简单的cuda编译出错

FSPB_main.cppintmain(intargs,char*argv[]){.......float*d_a;cudaMalloc((void**)&d_a,5*sizeof(float));}$nvcc-L/usr/local/cuda/lib-lcutil-lcudpp-lcuda-lcudart-c-oFSPB_main.oFSPB_main.cppFSPB_main.cpp:Infunction‘intmain(int,char**)’:FSPB_main.cpp:167:45:error:‘cudaMalloc’wasnotdeclaredinthisscope这个错