启动内核时共享内存和流

用户名

我是CUDA的新手,正在从事个人项目。我知道,如果要在启动时指定共享内存量:

kernel<<<grid_size,block_size,shared_mem_size>>>(parameters);

另一方面,如果我想将内核放入流中:

kernel<<<grid_size,block_size,0,stream_being_used>>>(parameters);

我不明白为什么在流的情况下第三个参数为0?(我从Sanders和Kandrot的“ CUDA示例”中的第10章中获得了它)。

如果要在启动时指定共享内存并将其放入流中,如何正确执行此操作?换句话说,<<< ... >>>之间的参数应该是什么样的?

罗伯特·克罗维拉

存在0的唯一原因是因为在该特定示例中,不需要动态共享内存。

共享内存可以静态分配(不使用extern,在声明中显式指定大小),也可以动态分配(使用extern,并且大小显示为内核启动配置中的第三个参数)。

内核启动配置参数<<<...>>>始终以相同的顺序显示:

  1. 网格尺寸
  2. 线程块尺寸
  3. 动态分配的共享内存的大小(以字节为单位
  4. 在其中启动内核的流

1和2是必填项,3和4是可选项。但是,如果您需要指定参数4(流),则即使它为零,也必须提供参数3。

因此正确的顺序是:

kernel_name<<<grid_dim, threadblock_dim, dynamic_shared_memory_size, stream>>>(...);

您可以在文档中了解更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

启动内核时共享内存和流

来自分类Dev

内核空间和用户空间之间的大共享内存

来自分类Dev

内核和用户模式之间的共享内存。如何分享句柄?

来自分类Dev

保护内核和用户空间之间的共享内存段

来自分类Dev

如果为整个网格分配的共享内存量超过48kB,则内核启动失败

来自分类Dev

Windows CE:在OAL和内核驱动程序之间共享内存

来自分类Dev

Windows CE:在OAL和内核驱动程序之间共享内存

来自分类Dev

不同的内核调用可以共享内存吗?

来自分类Dev

NaCl和共享内存

来自分类Dev

NaCl和共享内存

来自分类Dev

Linux内核引导:当DTB和initramfs最初位于内存中时,如何完成内存分配?

来自分类Dev

整个内核在启动时是否已加载到内存中?

来自分类Dev

gstreamer-1.0、RTSP H264 流和共享内存

来自分类Dev

从C#和Mono启动进程时内存不足

来自分类Dev

顺序流和共享状态

来自分类Dev

联合和结构内存共享

来自分类Dev

POSIX共享内存和msync

来自分类Dev

memcpy 和共享内存结构

来自分类Dev

Cuda全局共享内存和常量内存

来自分类Dev

在共享内存中上传数据以进行卷积内核

来自分类Dev

具有动态共享内存的模板化CUDA内核

来自分类Dev

使用共享内存减少CUDA内核中计算的计算时间

来自分类Dev

在WebAPI和MVC之间共享内核

来自分类Dev

程序的内存布局中的“内核堆栈”,“ C运行时启动函数的框架”和“ main()的框架”在哪里?

来自分类Dev

Windows虚拟内存和内核模式

来自分类Dev

内存布局和内核空间-用户空间

来自分类Dev

启动 linux 内核时更改 SATA 和 RAID 控制器的顺序

来自分类Dev

处理共享内存和字符串时提高性能

来自分类Dev

Cuda 扫描 - 使用共享内存时在调试和释放模式下的不同结果

Related 相关文章

  1. 1

    启动内核时共享内存和流

  2. 2

    内核空间和用户空间之间的大共享内存

  3. 3

    内核和用户模式之间的共享内存。如何分享句柄?

  4. 4

    保护内核和用户空间之间的共享内存段

  5. 5

    如果为整个网格分配的共享内存量超过48kB,则内核启动失败

  6. 6

    Windows CE:在OAL和内核驱动程序之间共享内存

  7. 7

    Windows CE:在OAL和内核驱动程序之间共享内存

  8. 8

    不同的内核调用可以共享内存吗?

  9. 9

    NaCl和共享内存

  10. 10

    NaCl和共享内存

  11. 11

    Linux内核引导:当DTB和initramfs最初位于内存中时,如何完成内存分配?

  12. 12

    整个内核在启动时是否已加载到内存中?

  13. 13

    gstreamer-1.0、RTSP H264 流和共享内存

  14. 14

    从C#和Mono启动进程时内存不足

  15. 15

    顺序流和共享状态

  16. 16

    联合和结构内存共享

  17. 17

    POSIX共享内存和msync

  18. 18

    memcpy 和共享内存结构

  19. 19

    Cuda全局共享内存和常量内存

  20. 20

    在共享内存中上传数据以进行卷积内核

  21. 21

    具有动态共享内存的模板化CUDA内核

  22. 22

    使用共享内存减少CUDA内核中计算的计算时间

  23. 23

    在WebAPI和MVC之间共享内核

  24. 24

    程序的内存布局中的“内核堆栈”,“ C运行时启动函数的框架”和“ main()的框架”在哪里?

  25. 25

    Windows虚拟内存和内核模式

  26. 26

    内存布局和内核空间-用户空间

  27. 27

    启动 linux 内核时更改 SATA 和 RAID 控制器的顺序

  28. 28

    处理共享内存和字符串时提高性能

  29. 29

    Cuda 扫描 - 使用共享内存时在调试和释放模式下的不同结果

热门标签

归档