问题标签 [gpu-shared-memory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
46 浏览

cuda - 为什么 Ampere GPU 上每个块的最大共享内存量不是 16 KiB 的倍数?

传统上,NVIDIA GPU 提供了 CUDA 线程块共享内存,其数量始终可以被 16 KiB 整除(参见此表中的示例)。但是,对于 Ampere 8.0 和 8.6 GPU,数量为 99 KiB 和 163 KiB。怎么来的?这是因为硬件问题吗?不会是错字吧?

0 投票
0 回答
31 浏览

docker - docker run -gpus all 与 yolov5 的多个卷

docker:来自守护进程的错误响应:无效模式:/usr/src/app/data。

我试过改成

成功创建容器但是 docker 不连接卷目录,我无法访问本地系统文件

或在本地系统和 docker 容器前添加 / 但是都失败了

我从stackoverflow尝试了多种解决方案,但仍然失败

0 投票
1 回答
59 浏览

sass - 共享内存的 atomicAdd 与 int 和 float 有不同的 SASS

我遇到了一个性能问题atomicAddfloatint使用nv-nsight-cu-cli. 检查生成的 SASS 后,我发现共享内存的生成 SASS 是打开的atomicAddfloat并且int完全不相似。

在这里,我以最小的 cuda 代码展示了一个示例:

从上面生成的 SASS 代码中,我们可以清楚地得知,共享内存atomicAddint生成单个轻量级ATOMS.POPC.INC.32 RZ, [URZ],而在float生成一堆 SASS 时具有重量级ATOMS.CAST.SPIN R3, [RZ], R2, R3

CUDA Binary Utilities没有告诉我CASTor的含义SPIN。但是,我猜想这意味着共享内存地址上的独占自旋锁。(纠正我,如果我猜错了。)在我的真实代码中,没有一个 SASSatomicAddint热点。但是,这比ofATOMS.CAST.SPIN生成的其他 SASS 代码要热得多。atomicAddfloat

另外,我用编译器标志-arch=sm_86和. 在那些 CC 下,生成的 SPSS 代码非常相似。另一个事实是,毫不奇怪, 的生成的SPSS 与.-arch=sm_80-arch=sm_75atomicAddfloatatomicAdddoublefloat


这个观察比问题更让我困惑。我会从我的分析经验中提出一些简单的问题,并希望我们能进行愉快的讨论。

  • 具体是做什么ATOMS.CAST.SPIN的?我知道的唯一 SASS 文档是CUDA Binary Utilities
  • 为什么atomicAddof应该float生成更多的 SASS 代码并做更多的工作int?我知道这是一个普遍的问题,很难回答。也许ATOMS.POPC.INC根本不适用于数据类型floatdouble
  • 如果它更容易受到更多共享内存加载和存储冲突的影响,因此of比of 的停顿时间更长?前者显然有更多要执行的指令和不同的分支。我的项目中有以下代码片段,其中两个函数的函数调用次数相同。然而,of在开启时不会造成运行时瓶颈。atomicAddfloatatomicAddintatomicAddfloatint