当前位置:首页 » 以太坊知识 » 以太坊cudaerror

以太坊cudaerror

发布时间: 2021-05-28 21:24:59

『壹』 CUDA程序出错“no instance of overloaded function“,求解决办法

cudaMallocPitch函数原型是下面这样的:
cudaError_t cudaMallocPitch (void ** devPtr, size_t * pitch, size_t width, size_t height)
你的pitch是不是size_t类型的,看上面好像你写成int了,改成size_t试试。再不行的话,把后面两个参数也用size_t类型的试试。

『贰』 CUDA程序报错 invalid argument

cudaSafeCall() Runtime API error in file...../matrix.cu,line 20: invalid argument 非法的值,数组出界
20行用的数组出界

『叁』 请教cuda error

如果用的是Windows中的Visual Studio的Nsight插件,可以在kernel中设置断点,然后选择Nsight插件中的Start CUDA Debugging来看出错的语句。
如果是Mac或Linux,请考虑使用CUDA-GDB。


另,在每次调用完kernel后写一句话可以检查基本的kernel调用错误,例如

//
#definegetLastCudaError(msg)__getLastCudaError(msg,__FILE__,__LINE__)

inlinevoid__getLastCudaError(constchar*errorMessage,constchar*file,constintline)
{
cudaError_terr=cudaGetLastError();

if(cudaSuccess!=err)
{
fprintf(stderr,"%s(%i):getLastCudaError()CUDAerror:%s:(%d)%s. ",
file,line,errorMessage,(int)err,cudaGetErrorString(err));
DEVICE_RESET
exit(EXIT_FAILURE);
}
}
#endif

kernel<<<1,1>>>();
getLastCudaError("ErrorinCalling'kernel'");

『肆』 如何解决CUDA error的问题

cuda中有cudaError_t这个类别,可以记录cuda错误。所有的cuda库函数,几乎都返回一个cudaError_t。
《GPU高性能编程》中使用HANDLE_ERROR宏函数,处理每个函数返回的cudaerror
static void HandleError( cudaError_t err,const char *file,int line ) {
if (err != cudaSuccess) {
printf( "%s in %s at line %d\n", cudaGetErrorString( err ), file, line );
exit( EXIT_FAILURE );
}
}

『伍』 cuda中kernel挂掉了,怎么查错

如果用的是Windows中的Visual Studio的Nsight插件,可以在kernel中设置断点,然后选择Nsight插件中的Start CUDA Debugging来看出错的语句。

如果是Mac或Linux,请考虑使用CUDA-GDB。


另,在每次调用完kernel后写一句话可以检查基本的kernel调用错误,例如

//
#definegetLastCudaError(msg)__getLastCudaError(msg,__FILE__,__LINE__)

inlinevoid__getLastCudaError(constchar*errorMessage,constchar*file,constintline)
{
cudaError_terr=cudaGetLastError();

if(cudaSuccess!=err)
{
fprintf(stderr,"%s(%i):getLastCudaError()CUDAerror:%s:(%d)%s. ",
file,line,errorMessage,(int)err,cudaGetErrorString(err));
DEVICE_RESET
exit(EXIT_FAILURE);
}
}
#endif

kernel<<<1,1>>>();
getLastCudaError("ErrorinCalling'kernel'");

『陆』 cuda中的错误MSB3721怎么解决

我是用的《cuda by example》这本书的案例 编译也遇到这个问题 改了下头文件"book.h"就通过了 。对了 你看下cuda的cu文件属性是不是CUDA C/c++

『柒』 以太坊gpu挖矿程序是怎样的

GPU挖掘

硬件

算法是内存难解的,为了使DAG适合内存,每个GPU需要1-2GB内存,如果你得到错误提示:Error GPU mining. GPU memory fragmentation? 说明你没有足够的内存。GPU挖矿软件是基于OpenCL实现的,AMD GPU会比同一水准的NVIDIA GPU更快。ASIC和FPGA相对低效因而被阻拦。要给芯片集成平台获取openCL,尝试:
AMD SDK openCL
NVIDIA CUDA openCL
Ubuntu Linux设置

对于这个快速指南,你会需要Ubuntu 14.04或15.04以及fglrx图像驱动器。你也可以使用NVidia驱动器和其他平台,但是你必须要找到自己的方式来获得有效的OpenCL安装,比如Genoil的ethminer分叉。
如果你在用15.04,到"软件与更新〉额外的驱动器"设置为"从fglrx为AMD图形加速器使用视频驱动器"。
如果你在用14.04,到"软件与更新〉额外的驱动器"设置为"从fglrx为AMD图形加速器使用视频驱动器"。很遗憾,对于一些人来说,这种方法可能不管用,因为Ubuntu 14.04.02中有个已知的程序错误会阻止你转换到GPU挖矿所必须的专属图形驱动器。
所以,如果你遇到这个程序错误,先到"软件与更新〉更新"选择"预发行的可靠更新提议"。然后,回到"软件与更新〉额外的驱动器"设置为"从fglrx为AMD图形加速器使用视频驱动器"。重启之后,值得检查一下现在确实正确安装了驱动器(例如通过再到"额外驱动器")。
不管做什么,如果你在用14.04.02,一旦安装之后,就不要改变驱动器或者驱动器配置。例如,aticonfig –initial的使用(尤其是-f, –force选项)会"破坏"你的设置。如果你偶然改变了配置,会需要卸载驱动器,重启,再次安装驱动器并重启。

『捌』 运行Python项目时出现“ cuda runtime error (30) : unknown error ”要怎么解决

R6034出错可能是你安装过像Spyware Doctor这类的反间谍软件,安装这样的软件后会在C:\windows\system32\目录下出现一个名为msvcr80.dll的文件,当卸载这个软件时msvcr80.dll会留在目录里。可以试试把C:\windows\system32\目录下的msvcr80.dll删除,如果装有360安全卫士这类软件,删除时可能会出现一个提示,一定要选允许,不然无法删除。然后点击桌面左下角的开始菜单,点击运行,输入cmd,然后输入for %1 in (%windir%\system32\*.dll) do regsvr32 /s %1,如果怕输错,可复制,然后点击输入cmd后弹出窗口的左上角C:\,点击编辑-粘贴,回车后静待刷屏运行,完毕后再等一会儿直到硬盘指示灯不再闪烁为止,然后重新启动

『玖』 cuda error out of memory 怎么解决

今天刚把服务器搭建起来 结果程序就跑不起来 当时差点把自己吓尿了
错误类型:CUDA_ERROE_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:924] failed to alloc 17179869184 bytes on host: CUDA_ERROR_OUT_OF_MEMORY
W ./tensorflow/core/common_runtime/gpu/pool_allocator.h:195] could not allocate pinned host memory of size: 17179869184
Killed

其实很容易理解 大致意思就是 服务器的GPU大小为M
tensorflow只能申请N(N<M)
也就是tensorflow告诉你 不能申请到GPU的全部资源 然后就不干了
解决方法:
找到代码中Session
在session定义前 增加

config = tf.ConfigProto(allow_soft_placement=True)
#最多占gpu资源的70%
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.7)
#开始不会给tensorflow全部gpu资源 而是按需增加
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
这样就没问题了

其实tensorflow 算是一个比较贪心的工具了
就算用device_id指定gpu 也会占用别的GPU的显存资源 必须在执行程序前
执行 export CUDA_VISIBLE_DEVICES=n(n为可见的服务器编号)
再去执行Python 代码.py 才不会占用别的GPU资源
最近刚开始搞tensorflow 之前都是caffe
这周连续3天被实验室的人 举报 占用过多服务器资源 真是心累 只要用上面的方法
也就是执行代码前 执行 export CUDA_VISIBLE_DEVICES=n
只让1个或者个别GPU可见 其他GPU看不见 就行了

热点内容
矿币减半之年讲解 发布:2024-12-27 06:29:14 浏览:271
有哪些公司加入区块链 发布:2024-12-27 05:58:11 浏览:604
网吧模拟btc在哪里售卖 发布:2024-12-27 05:58:06 浏览:781
数字货币银行机遇 发布:2024-12-27 05:55:06 浏览:356
蚂蚁矿机风扇静音改造 发布:2024-12-27 05:32:44 浏览:424
中国央行数字货币实施的意义 发布:2024-12-27 05:32:01 浏览:894
去疾控中心办健康证要开工作证明吗6 发布:2024-12-27 05:20:59 浏览:777
xss攻击比特币网站 发布:2024-12-27 05:02:26 浏览:719
什么显卡挖eth效率高 发布:2024-12-27 04:47:53 浏览:436
fil币头矿值得入手吗 发布:2024-12-27 04:40:42 浏览:204