在新线程中调用支持 CUDA 的库

2024-04-12

我编写了一些代码并将其放入它自己的库中,该库使用 CUDA 在 GPU 上进行一些处理。

我正在使用 Qt 构建 GUI 前端,作为加载 GUI 的一部分,我调用

CUresult res;
CUdevice dev;
CUcontext ctx;

    cuInit(0);
    cuDeviceGet(dev,0);
    cuCtxCreate(ctx, 0, dev);

继续初始化 GPU,以便应用程序在调用支持 CUDA 的库时尽可能做出响应。

问题是,我现在开始尝试从不同的线程调用支持 CUDA 的库。

我需要付出某种努力才能做到这一点吗?另一个线程是唯一调用任何 cuda 函数的线程(调用 cuInit() 的主线程除外),但我的代码在 cuda 库中的 cudaFree() 调用上崩溃。

Thanks


上下文与创建它们的线程相关联。因此,您的两个选择是要么让 GPU“工作线程”建立上下文,要么使用驱动程序 API 上下文迁移调用(cuCtx流行音乐当前 http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/html/group__CUDA__CTX_g2fac188026a062d92e91a8687d0a7902.html and cuCtx推流 http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/html/group__CUDA__CTX_gb02d4c850eb16f861fe5a29682cc90ba.html#gb02d4c850eb16f861fe5a29682cc90ba) 将上下文从一个线程移动到另一个线程。请注意,上下文迁移不是免费的,因此如果您要进行大量迁移,您会注意到 GPU 延迟增加。

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

在新线程中调用支持 CUDA 的库 的相关文章

随机推荐

  • 是否可以使 java.lang.invoke.MethodHandle 与直接调用一样快?

    我正在比较性能MethodHandle invoke以及直接静态方法调用 这是静态方法 public class IntSum public static int sum int a int b return a b 这是我的基准 Stat
  • Groovy/grails 如何判断一个数据类型?

    确定 groovy 中数据类型的最佳方法是什么 如果是日期等 我想以不同的方式格式化输出 要确定对象的类 只需调用 someObject getClass 您可以将其缩写为someObject class在多数情况下 但是 如果您在Map它
  • qFuzzyCompare 在 Qt 中如何工作

    有什么区别 if a b and if qFuzzyCompare a b 假设变量 a 和 b 是 a 1234 5678 b 1234 5678 注意 我问这个问题是因为我在比较 Qt 中的双打时遇到困难 我想了解如何qFuzzyCom
  • 使用 javascript api 显示来自 facebook 的照片?

    我想使用 javascript api 在我的网页上显示我的 Facebook 相册之一中的照片 我可以使用以下代码读取相册名称 但如何显示其中一张相册的照片 FB api myfacebookid albums function resp
  • 应用程序在 4.0 上崩溃,但在 5.0 上不崩溃

    我试图修复一个奇怪的错误 使用 iOS 4 的用户甚至无法在更新后启动我的应用程序 然后崩溃 iOS 5 设备运行良好 我在上次更新中添加的内容是块 但是 block 应该可以在 ios4 上使用 对吧 iOS 4 3 模拟器运行良好 但
  • EMR 如何处理 s3 存储桶的输入和输出?

    我正在启动一个 EMR 集群 并且已经创建了指定的存储桶在 EMR 文档中 http docs aws amazon com emr latest ManagementGuide emr plan output html 但是我应该如何上传
  • PHP MySQL - 每 6 行插入一个 div?

    PHP
  • jquery ui 自动完成:计数结果

    我想知道是否有一种方法可以计算当您在文本框中键入内容时显示的结果数 计算 li 元素的工作原理 但我敢打赌有一个更聪明的方法 谢谢 我认为直接使用 JQueryUI Events 是不可能的 我一直在寻找方法但没有成功 所有关联的事件仅返回
  • 为什么 不扩展以适应其内容?

    我有一个延伸到屏幕边缘的桌子 但主体仅与屏幕一样宽 导致桌子溢出 Demo http jsfiddle net 6REkj http jsfiddle net 6REkj table tr td test td td test td td
  • 没有 JavaScript 的默认 html 表单焦点

    是否可以在不使用 JavaScript 的情况下在 HTML 表单上设置默认输入焦点 例如
  • 什么时候使用内联函数,什么时候不使用它? [复制]

    这个问题在这里已经有答案了 我知道内联是对编译器的提示或请求 用于避免函数调用开销 那么 根据什么可以确定一个函数是否适合内联呢 在什么情况下应该避免内联 避免函数调用的成本只是故事的一半 do use inline代替 define 很小
  • 如何处理微服务架构中的共享模型

    我的目标是创建一个架构 其中服务应该能够彼此独立部署并且完全自治 但是当您有 2 个服务从数据库读取相同对象类型时该怎么办 就我而言 我有一个套接字服务器 微服务 1 和一个 http 服务器 微服务 2 我的用户使用 http 服务器创建
  • JS Maps v3:带有用户个人资料图片的自定义标记

    两天以来 我一直在努力解决一些我认为很简单的事情 在地图上 我必须为每个用户显示一个标记 其中包含用户 FB 个人资料图片 我想知道如何才能得到与此类似的结果 我所尝试的确实很hackish 我把FB图片作为标记图标 我在标记的标签上放置了
  • intellij idea看不到java 9标准类

    我有一个maven使用的项目Java 9 它导入到IntelliJ IDEA 2017 2 3 Community 但由于某种原因它找不到标准的java类 例如String or Float 例如 当我尝试Setup Project JDK
  • 对象到数组(数组的数组)

    我正在尝试使用函数将对象文字转换为数组数组 使用我拥有的两个示例对象 我正在寻找的最终结果将是 ugh grr foo bar blah 138 from obj1 shambala walawala foofighter Barstool
  • 如何为每个用户构建未读项目警报的数据库

    我只是有一个一般的数据库理论问题 我需要制作类似于显示用户已查看或未查看的帖子 项目 例如在论坛中 或未读电子邮件的内容 我所拥有的是多个用户可以查看的帖子 但需要按实际查看过的用户分开 因此 如果用户 A 浏览了帖子 1 则不会再显示帖子
  • 响应式透明重叠 css 圆圈,文本垂直居中对齐

    似乎无法让我的文本在每个圆圈内对齐中心和垂直 尝试将 h1 文本放入另一个 div 显示表中 但在每个圆形类中包含文本时遇到问题 这是我的代码笔和示例代码 HTML div div class circle1 transparent cla
  • 如何获取给定 PIDL 的 IWMDMStorageControl 接口

    我使用 SHBrowseForFolder 选择 MTP 设备上的文件夹 然后我想从那里复制文件 到那里复制文件 IWMDMStorageControl 接口 来自 Windows Media Format 11 SDK 似乎很合适 但是如
  • OAuth 2.0 访问令牌和刷新令牌

    我很难理解刷新和访问令牌的正确用法 我知道刷新令牌与授权相关 访问令牌与身份验证相关 我想更好地解释我的用例 以便有人可以在这里帮助我 我在 Google Merchant Center 中有一个多帐户中心 我想在我的代码中集成最新的 OA
  • 在新线程中调用支持 CUDA 的库

    我编写了一些代码并将其放入它自己的库中 该库使用 CUDA 在 GPU 上进行一些处理 我正在使用 Qt 构建 GUI 前端 作为加载 GUI 的一部分 我调用 CUresult res CUdevice dev CUcontext ctx