最新帖子

页: [1] 2 3 ... 10
1
CUDA / Re: CUDA线程设置
« 最后发表 作者 tonxaio 昨天 10:08:40 pm »
首先说,如果你没有颠倒grid和block的形状(大小)的话,正确的填充了这两个参数在<<<>>>中的位置的话。则简单的将block数量翻倍,并不会引起立刻的kernel启动失败。但如果你已经颠倒了他俩(常见的新人容易犯的错误),则属于正常(因为现在还没有任何一张卡能支持到超过1024的block大小)。

其次,在假设了你正确的填充了启动形状配置参数的情况下,则上述解释不存在。则你最可能出现的问题是因为扩大了总规模后,导致缓冲区/数组使用越界。后者你可以出揣上NSight或者cuda-gdb或者cuda-memcheck来检查一下。本论坛有大量的如何使用它们检查越界的帖子。

应当不存在其他情况了。
十分感谢!!
2
CUDA / Re: cudamalloc的同时cpu也会提交同样大小的内存
« 最后发表 作者 屠戮人神 昨天 01:14:53 pm »
物理空间我想表述的是working set.
还是同一段代码,使用您给的工具分别看了cudamalloc申请1GB显存前和后的内存状态,见附件

看到图片,暂时没有什么能描述的。尚不清楚是否是NV内部进行了某种处理。

你可以通过运行你的进程一段时间后,观察这1GB增加的私有数据中的working set是否会变大,这样用来衡量NV是否只是将它扔到一片,还是在CPU上活跃的使用它们。如果不会变大,暂时无视它吧。
3
CUDA / Re: cudamalloc的同时cpu也会提交同样大小的内存
« 最后发表 作者 why666 四月 02, 2020, 09:48:54 am »
物理空间我想表述的是working set.
还是同一段代码,使用您给的工具分别看了cudamalloc申请1GB显存前和后的内存状态,见附件
4
CUDA / Re: cudamalloc的同时cpu也会提交同样大小的内存
« 最后发表 作者 屠戮人神 四月 01, 2020, 07:21:02 pm »
这个问题是我最近在查内存耗尽的问题引出来的,刚才只是一个示例,实际应用中我会申请一整块显存池,大概2GB,这样提交大小就很大了,由于我这边的主机物理+虚拟内存一共16GB,进程一多,很容易就内存耗尽了,而此时的物理内存都没有满,所以在我这边的应用场景下,是不能无视的。您说在linux也会有类似的现象,保留地址空间也会是像申请的显存那么大吗?
假设显卡未用P6000的话,主机内存配置就更高了,主机内存配置还要把显存容量考虑进去。还是没有想明白为什么要同时申请一块内存空间,我如果知道这块空间的Host地址的话,是不是就不用再new一块出来用于cudaMemcpy(D->H)了?求大牛再帮忙合计合计,谢谢了。

(1)Linux上的经常会看到相当巨大的,例如甚至上T级别的,但人家只是保留了地址空间。
(2)Windows上你是第一个报告的,我还不清楚情况。可能稍后会去探索这个。
(3)附件中有一个vmmap.exe(带有数字签名), 可以用来查看进程的地址空间分布情况。你可以看看你的同样的在CPU上被分配的2GB空间是什么情况。欢迎提供附图。
(4)我不太懂你的“物理空间没有满”是指的什么。
5
CUDA / Re: cudamalloc的同时cpu也会提交同样大小的内存
« 最后发表 作者 why666 四月 01, 2020, 06:21:03 pm »
这个问题是我最近在查内存耗尽的问题引出来的,刚才只是一个示例,实际应用中我会申请一整块显存池,大概2GB,这样提交大小就很大了,由于我这边的主机物理+虚拟内存一共16GB,进程一多,很容易就内存耗尽了,而此时的物理内存都没有满,所以在我这边的应用场景下,是不能无视的。您说在linux也会有类似的现象,保留地址空间也会是像申请的显存那么大吗?
假设显卡未用P6000的话,主机内存配置就更高了,主机内存配置还要把显存容量考虑进去。还是没有想明白为什么要同时申请一块内存空间,我如果知道这块空间的Host地址的话,是不是就不用再new一块出来用于cudaMemcpy(D->H)了?求大牛再帮忙合计合计,谢谢了。
6
CUDA / Re: cudamalloc的同时cpu也会提交同样大小的内存
« 最后发表 作者 屠戮人神 四月 01, 2020, 05:12:23 pm »
cudamalloc之后 提交大小

看图的确如此。不过既然working set (你的程序一定时间内使用的热点数据)很低,那么巨大的commit size可以暂时无视了。

就如同你普通的new或者malloc了10GB的空间,但是只热点使用其中的100MB,则几乎不被touch到的数据,可以暂时无视它。

关于这个问题的具体原因,我暂时没有推测或者判断。以前只在Linux下的CUDA进程,见过类似现象的。
7
CUDA / Re: 你们有遇到使用cudaMemcpy时,报错 cudaErrorLaunchFailure(4)的错误吗
« 最后发表 作者 高压锅 四月 01, 2020, 03:42:26 pm »
感谢高手兄及工程技术人员,谢! ;)
8
CUDA / Re: cudamalloc的同时cpu也会提交同样大小的内存
« 最后发表 作者 why666 四月 01, 2020, 03:39:17 pm »
cudamalloc之后 提交大小
9
CUDA / Re: cudamalloc的同时cpu也会提交同样大小的内存
« 最后发表 作者 why666 四月 01, 2020, 03:38:30 pm »
cudamalloc之前提交大小
10
CUDA / Re: cudamalloc的同时cpu也会提交同样大小的内存
« 最后发表 作者 why666 四月 01, 2020, 03:37:33 pm »
简单写了一个测试程序,申请1GB显存,申请前和申请后该进程提交的内存大小如附件所示。分别停在两个断点时候进行截图
页: [1] 2 3 ... 10