参数超过256字节的CUDA内核调用思路

2024-01-09

我有几个结构,它们的总大小超过了允许在内核调用中作为参数传递的 256 字节大小。

这两个结构都已分配并复制到设备全局内存。

1)如何在同一个内核中使用这些结构而不将其作为参数传递?

更多细节。这些结构可以单独作为参数传递。例如,在不同的内核中。但:

2)如何在同一个内核中使用这两个结构?


如果您的数据结构已经在全局内存中,那么您只需将指针作为内核参数传递即可。

与此相关的是,对于计算能力 2.x 及更高版本的设备,内核参数的限制为 4KB:

global函数参数传递给设备:

  • 通过共享内存,在计算能力 1.x 的设备上限制为 256 字节,
  • 通过恒定内存,在计算能力 2.x 及更高的设备上限制为 4 KB。

device and global函数不能有可变数量的参数。

(c.f. http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#function-parameters http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#function-parameters)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

参数超过256字节的CUDA内核调用思路 的相关文章

  • 如何将可变数量的参数传递给 SQL Server 存储过程?

    我将 SQL Server 2005 用于我的小型 Web 应用程序 我想将参数传递给 SP 但有一个条件 可以不时更改的参数数量 想一想 这次我传递姓名和地址 下次我传递姓名 地址 该参数范围可以是 1 30 您使用默认参数声明该过程 并
  • 无法在 CUDA 中找到 1 到 100 数字的简单和?

    我正在研究使用 CUDA 的图像处理算法 在我的算法中 我想使用 CUDA 内核找到图像所有像素的总和 所以我在cuda中制作了内核方法 来测量16位灰度图像的所有像素的总和 但我得到了错误的答案 所以我在cuda中编写了一个简单的程序来查
  • 为什么 cudaGLSetGLDevice 失败,即使它是在 main 函数的第一行中调用的

    我想使用 OpenGL 和 CUDA 之间的互操作性 我知道 正如一些教程所说 第一步是选择设备 但是 当我在主函数的第一行中调用 cudaGLSetGLDevice 0 时 程序退出并显示信息 cudaSafeCall 运行时 API 错
  • 对于 PowerShell cmdlet,我是否始终可以将脚本块传递给字符串参数?

    我正在查看 PowerShell 的文档Rename Itemcmdlet 并且有一个这样的例子 Get ChildItem txt Rename Item NewName name Replace txt log 此示例演示如何使用 Re
  • Python:当为变量分配新内容时,“旧”内存是否被释放?

    如果为变量分配了任何新内容 为 旧内容 分配的内存是否会 正确 释放 例如 在以下脚本中 在为 a 分配一些新内容后 变量 a 作为零数组的内存是否会被释放 import numpy a numpy zeros 1000 a a 1 我想象
  • 在 Cuda 中简单添加两个 int,结果始终相同

    我开始了学习Cuda的旅程 我正在玩一些 hello world 类型的 cuda 代码 但它不起作用 我不知道为什么 代码非常简单 取两个整数并将它们添加到 GPU 上并返回结果 但无论我将数字更改为什么 我都会得到相同的结果 如果数学那
  • 如何从内存转储中查找预加载系统绘图(位图)的 ID 或名称

    我正在分析我们应用程序的内存使用情况 发现很奇怪Drawables 它不断地 吃掉 几兆字节的堆 以下是一些截图MAT http www eclipse org mat Dominator tree with 2 pretty big bi
  • 直接在主机上访问设备向量元素的最快方法

    我请您参考以下页面http code google com p thrust wiki QuickStartGuide Vectors http code google com p thrust wiki QuickStartGuide V
  • 跨 dll 边界的内存分配和释放

    我知道在一个 dll 中进行内存分配然后在另一个 dll 中释放内存可能会导致各种问题 尤其是与 CRT 相关的问题 当涉及到导出 STL 容器时 此类问题尤其成问题 我们之前遇到过此类问题 在编写与我们的库链接的自定义 Adob e 插件
  • 无法编译cuda_ndarray.cu:libcublas.so.7.5:无法打开共享对象文件

    我正在尝试在 aws 实例中导入 theano 库以使用 GPU 我已经使用 boto 编写了一个 python 脚本来自动执行 aws 设置 该脚本本质上会从我的本地计算机对实例执行 ssh 然后启动一个 bash 脚本 其中我执行 py
  • 将值存储为变量或再次调用方法更好吗?

    最近 我开始学习一些Java 从我对 JVM 的了解来看 JIT 使其在需要 CPU 周期的操作 即调用方法 上变得非常快 但也使其对内存产生了饥饿感 因此 当我需要与以前相同的方法获得相同的输出时 将之前的输出存储在变量中并再次使用它 同
  • 以编程方式获取 Android 设备的所有 RAM 内存,而不仅仅是分配给用户进程的内存

    我有一台设备 我确信它的 RAM 内存为 512 MB 希望能够以编程方式检索该值 512 MB 到目前为止 我在互联网上遇到的主要是这两种方式 https stackoverflow com a 16143065 1521264 http
  • cudaMalloc使用向量>进行管理 > C++ - NVIDIA CUDA

    我正在通过 NVIDIA GeForce GT 650M GPU 为我创建的模拟实现多线程 为了确保一切正常工作 我创建了一些辅助代码来测试一切是否正常 在某一时刻 我需要更新变量向量 它们都可以单独更新 这是它的要点 device int
  • Glassfish 上的内存管理

    我的 Glassfish 服务器上运行着几个后台任务 由 TimerService实例 这些服务的目标是从文件中提取数据并将该数据插入数据库 我最初尝试在 JPA 中执行此操作 但系统很容易就停滞了 我现在已将该过程转换为 JDBC 它的响
  • CUDA 中的 JPEG 库

    我正在尝试在 CUDA 中压缩和解压缩图像 到目前为止我已经找到了这个库 http sourceforge net projects cuj2k source navbar http sourceforge net projects cuj
  • Oracle存储过程使用数组作为表插入的参数

    我一直在寻找一个明显的例子 但没有运气 抱歉 如果已经回答了 我正在尝试做一些非常简单的事情 一个存储过程 它将获取输入并将它们插入到表中 我希望它获取多行数组并一次全部插入 我认为这很简单 但我还没有找到一个可以展示我的例子 在很多例子中
  • Bison/Flex 中哪里可以释放内存?

    我使用 Bison 和 Flex 的时间或多或少有 1 个月 所以如果我没有看到明显的东西 但我不认为是 我很抱歉 我在使用 Flex Bison 释放内存时遇到问题 我的代码如下所示 parser l DATE yylval str st
  • Ruby 可选参数和多个参数

    我试图将方法的第一个参数设置为可选 后跟任意数量的参数 例如 def dothis value 0 args 我遇到的问题是 这似乎实际上不可能 当我打电话时dothis hey how are you good 我希望它将值设置为默认值
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 将数据从 GPU 复制到 CPU - CUDA

    我在将数据从 GPU 复制到 CPU 时遇到问题 一开始我在 GPU 空间中创建变量 device float gpu array 在此 GPU 函数中 我想将数据从 od fS gi 值 0 43 复制到 gpu array global

随机推荐

  • Linux 上的多处理进程终止失败

    我刚刚注意到进程终止的问题 来自multiprocessingLinux 上的库 方法 我有应用程序正在使用multiprocessing图书馆但是 当我打电话时terminateWindows 上的功能一切正常 但 Linux 上的这个解
  • 有关在 Apache Tomcat 中运行的 Web 应用程序中查找内存泄漏的建议

    我有一个 Axis2 Web 服务 它刚刚在客户端站点上崩溃 它抛出以下异常 java lang OutOfMemoryError 无法创建新的本机线程 我只是将日志从网站上拉下来 但在此期间我想知道是否有人知道我可以使用任何监视工具来查找
  • 我的 JProgressBar 直到 100% 才更新

    好的 我有以下代码 public class MyProgressBar extends JPanel implements MyData Serializable public static final int MAX 10000 pub
  • Android Webview 与 KitKat 4.4

    我正在尝试使用 KitKat 4 4 将网站移植到 Android 平板电脑 WebView vendWebView WebView findViewById R id webview WebSettings webSettings ven
  • FBSDKLoginManager logInWithReadPermissions?

    我在用着FBSDKLoginButton允许用户使用登录Facebook并使用FBSDKLoginButton readPermissions public profile email user likes email user birth
  • 如何进行 knex.js 迁移?

    我仍然不确定如何使用 knex 进行迁移 这是我到目前为止所拥有的 它适用于up but down即使foreign key checks 0 也会给我FK约束错误 exports up function knex Promise retu
  • Android中如何获取经纬度

    如果 GPS 不可用 如何从移动设备获取纬度和经度 我的手机通过 wifi 和 gprs 连接有互联网连接 我们可以从中获取纬度和经度吗 edited 网络和 GPS 提供商位置 https stackoverflow com questi
  • 有没有办法在Python中强制函数参数互斥?

    考虑 def foobar foo bar if foo print foo end if bar print bar end if foo and bar print No bueno end I want this to be impo
  • Lamport同步算法讨论中的“偏序”和“全序”是什么意思?

    我的理解是 部分排序和全排序是两组规则 部分排序有三个规则 1 如果a和b是同一进程中的两个事件 并且a出现在b之前 则a gt b 2 3 那什么是全序呢 为何如此命名 这些名称源于这样一个事实 在部分顺序中 并非所有元素都具有可比性 而
  • Solr 5.1:Solr 创建了太多日志文件

    我正在处理 Solr 5 1 创建太多日志文件的问题 每次 Solr 重新启动时 以及一周定期重新启动时 Solr 都会创建以下文件 我需要它停止 solr gc xxxxxxxx xxxx 类型的文件 其中 x 分别代表日期和某种标识号
  • php中带有多个条件的if语句

    我有多个条件的 if 语句 这两个条件有什么区别 1 if province AB NT NU YT GST 5 else if province BC MB GST 5 PST 7 else if province NB NF ON HS
  • 如何让Mysql数据库支持阿拉伯语?

    我试图将阿拉伯语保存在 mysql 数据库中 但它不以阿拉伯语格式保存 它显示问号而不是阿拉伯语 如何让它用阿拉伯语存储值 我尝试了很多从互联网上看到的查询 但它没有改变 如何将其更改为阿拉伯语 ar SA 阿拉伯语 沙特阿拉伯 请建议一个
  • 如何使用 jQuery 搜索嵌套列表?

    我已经将一个简单的搜索字段放在一起来浏览列表 但我有嵌套列表 并且它仅限于单级列表 如何修改 我把它放在小提琴里 http jsfiddle net marksweb 4CJMe http jsfiddle net marksweb 4CJ
  • 如何将 CakePHP 中的查找限制为特定数量?

    我有一个用户模型 它为我提供最新的用户作为输出 如何限制记录只输出 200 条记录而不是数据库中的所有用户 根据文档 http book cakephp org 2 0 en models retrieving your data html
  • node.js - 如何使用服务工作者缓存handlebars.js

    我想问一下服务人员的情况 我制作了一个网络应用程序并尝试实现服务工作者 我使用 hbs 作为视图布局 当我缓存静态文件时 我无法缓存 hbs css 和 js 文件 这就是我保存文件的方式 public css style css js a
  • 如何从另一个函数返回生成器

    我有一个生成器函数 我想从另一个函数调用它并返回获得的生成器 我在这里可以看到两种方法 请注意 以下函数是简单的虚拟函数 用于说明目的 请不要想出更好的方法来实现这些功能本身 Method 1 def fun a n for i in ra
  • 如何制作热图并使用 NA 值进行聚类?

    我正在尝试使用我的数据制作热图 但很难正确编码 我的矩阵充满了 log x 1 值 这样我就不会遇到 log 0 错误 但是由于数据的性质 我有一堆 0 值 它们掩盖了热图的任何趋势可能正在展示 因此 我想将任何 0 值着色为灰色或黑色 然
  • 所选图像未显示在画布上

    我正在开发一个应用程序 用户可以从提供的图像列表中选择图像 当用户单击列表中的图像时 所选图像应作为背景显示在画布上 我正在使用reactjs redux 和fabricjs 开发它 当我这样做时 我没有得到选定的图像 this props
  • 从 Firebase 数据库异步方法返回值

    我想检查 Firebase 中是否已有具有所选用户名的用户并且我已经创建了一个函数checkUsernameAlreadyTaken username String gt Bool做这个的 这是该函数的代码 func checkUserna
  • 参数超过256字节的CUDA内核调用思路

    我有几个结构 它们的总大小超过了允许在内核调用中作为参数传递的 256 字节大小 这两个结构都已分配并复制到设备全局内存 1 如何在同一个内核中使用这些结构而不将其作为参数传递 更多细节 这些结构可以单独作为参数传递 例如 在不同的内核中