【问题标题】:Shared memory allocation in CUDACUDA 中的共享内存分配
【发布时间】:2012-11-20 15:58:27
【问题描述】:

我正在尝试分配 quadro 4000 nvidia 设备上限。 2.0 以下大小的静态共享内存块:

__shared__ char temp [128][128];

但是,在查看 Nsight 调试器时,我只能看到 64*64 的单元格。 其余的细胞在哪里。 另外,当我查看分析器时,我可以看到共享内存列下出现 16KB(这没关系。)

什么给了?

【问题讨论】:

    标签: cuda nsight


    【解决方案1】:

    Nsight Visual Studio 版 CUDA 调试器有几个选项来控制变量观察窗口中出现的表达式的评估和可视化。数组扩展的默认设置是 64。限制是为了避免限制评估大型数组的成本。

    更改设置

    1. 从顶级 Nsight 菜单执行命令 Options...
    2. 在 NVIDIA Nsight 选项对话框中

      • 在左侧窗格中选择调试器
      • 在右侧窗格中将设置最大数组扩展元素更改为128

    您的用例的另一种解决方案是打开四个内存窗口之一并配置列 = 64 和类型 = 1 字节整数。如果值是文本而不是数字,您可以禁用数据并将文本设置为 ANSI 文本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-26
      • 2013-10-12
      • 1970-01-01
      • 2011-06-29
      • 2012-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多