复制到 CUDA 常量内存时设备符号无效

2023-11-29

我有几个图像处理应用程序的文件。由于在执行某些图像处理算法时图像的行数和列数不会改变,因此我试图将这些值放入常量内存中。我的应用程序看起来像:

图像处理程序

...
...
__constant__ int c_rows;
__constant__ int c_cols;

#ifdef __cplusplus
   extern "C"
   {
#endif
   ...
   ...
#ifdef __cplusplus
   }
#endif

Imageproc.cu

...
...

int algorithm(float *a, const int rows, const int cols){
   ...
   ...
   checkCudaError(cudaMemcpyToSymbol(&c_rows, &rows, sizeof(int)));
   checkCudaError(cudaMemcpyToSymbol(&c_cols, &cols, sizeof(int)));

   dim3 block(T, T);
   dim3 grid(cols/T+1, rows/T+1);

   kernel<<<grid, block>>>( ... );
   ...
   ...

}

它编译得很好,但是当尝试运行该程序时,我得到了invalid device symbol cudaMemcpyToSymbol(&c_rows, &rows, sizeof(int))

我不能将这些变量放入常量内存中还是我缺少什么?


如果你的符号是这样声明的:

__constant__ int c_rows;

然后正确的调用cudaMemcpyToSymbol is just

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

复制到 CUDA 常量内存时设备符号无效 的相关文章

  • 将 GPUJPEG 项目移植到 Windows

    我目前正在尝试移植 GPUJPEG 在 Sourceforge 上 http sourceforge net projects gpujpeg 库 基于 CUDA 从 Unix 到 Windows 现在我被卡住了 我不知道发生了什么或为什么
  • 如何在 CUDA 应用程序中构建数据以获得最佳速度

    我正在尝试编写一个简单的粒子系统 利用 CUDA 来更新粒子位置 现在 我定义的粒子有一个对象 该对象的位置由三个浮点值定义 速度也由三个浮点值定义 更新粒子时 我向速度的 Y 分量添加一个常量值以模拟重力 然后将速度添加到当前位置以得出新
  • cudaMemcpyToSymbol 与 cudaMemcpy [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我试图找出
  • 某些子网格未使用 CUDA 动态并行执行

    我正在尝试 CUDA 5 0 GTK 110 中的新动态并行功能 我遇到了一个奇怪的行为 即我的程序没有返回某些配置的预期结果 不仅是意外的 而且每次启动都会出现不同的结果 现在我想我找到了问题的根源 似乎当生成太多子网格时 某些子网格 由
  • 用于类型比较的 Boost 静态断言

    以下问题给我编译器错误 我不知道如何正确编写它 struct FalseType enum value false struct TrueType enum value true template
  • 为什么 gcc 和 NVCC (g++) 会看到两种不同的结构大小?

    我正在尝试将 CUDA 添加到 90 年代末编写的现有单线程 C 程序中 为此 我需要混合两种语言 C 和 C nvcc 是 c 编译器 问题在于 C 编译器将结构视为特定大小 而 C 编译器将相同的结构视为略有不同的大小 那很糟 我对此感
  • Nvidia Theano docker 镜像不可用

    尝试运行 docker 命令 nvidia docker run d p 8888 8888 e PASSWORD 123abcChangeThis theano secure start notebook sh Then open you
  • 传递给 CUDA 的结构中的指针

    我已经搞砸了一段时间了 但似乎无法正确处理 我正在尝试将包含数组的对象复制到 CUDA 设备内存中 然后再复制回来 但当我遇到它时我会跨过那座桥 struct MyData float data int dataLen void copyT
  • 仅使用 CUDA 进行奇异值计算

    我正在尝试使用新的cusolverDnSgesvdCUDA 7 0 用于计算奇异值的例程 完整代码如下 include cuda runtime h include device launch parameters h include
  • 如何确定完整的 CUDA 版本 + 颠覆版本?

    Linux 上的 CUDA 发行版曾经有一个名为version txt例如 CUDA Version 10 2 89 这非常有用 但是 从 CUDA 11 1 开始 该文件不再存在 我如何在 Linux 上通过命令行确定并检查 path t
  • CUDA线程执行顺序

    我有一个 CUDA 程序的以下代码 include
  • CUDA 估计 2D 网格数据的每块线程数和块数

    首先我要说的是 我已经仔细阅读了所有类似的问题 确定每个块的线程和每个网格的块 https stackoverflow com questions 4391162 cuda determining threads per block blo
  • 如何在 CUDA 中执行多个矩阵乘法?

    我有一个方阵数组int M 10 以便M i 定位第一个元素i th 矩阵 我想将所有矩阵相乘M i 通过另一个矩阵N 这样我就收到了方阵数组int P 10 作为输出 我看到有不同的可能性 分配不同元素的计算M i 到不同的线程 例如 我
  • Pytorch CUDA 错误:没有内核映像可用于在带有 cuda 11.1 的 RTX 3090 设备上执行

    如果我运行以下命令 import torch import sys print A sys version print B torch version print C torch cuda is available print D torc
  • Cuda 6.5 找不到 - libGLU。 (在 ubuntu 14.04 64 位上)

    我已经在我的ubuntu上安装了cuda 6 5 我的显卡是 GTX titan 当我想要制作 cuda 样本之一时 模拟 粒子 我收到这条消息 gt gt gt WARNING libGLU so not found refer to C
  • 尝试构建我的 CUDA 程序时出现错误 MSB4062

    当我尝试构建我的第一个 GPU 程序时 出现以下错误 有什么建议可能会出什么问题吗 错误 1 错误 MSB4062 Nvda Build CudaTasks SanitizePaths 任务 无法从程序集 C Program 加载 文件 M
  • 有没有一种有效的方法来优化我的序列化代码?

    这个问题缺乏细节 因此 我决定创建另一个问题而不是编辑这个问题 新问题在这里 我可以并行化我的代码吗 还是不值得 https stackoverflow com questions 17937438 can i parallelize my
  • 从 CUDA 设备写入输出文件

    我是 CUDA 编程的新手 正在将 C 代码重写为并行 CUDA 新代码 有没有一种方法可以直接从设备写入输出数据文件 而无需将数组从设备复制到主机 我假设如果cuPrintf存在 一定有地方可以写一个cuFprintf 抱歉 如果答案已经
  • 内联 PTX 汇编代码强大吗?

    我看到一些代码示例 人们在 C 代码中使用内联 PTX 汇编代码 CUDA工具包中的文档提到PTX很强大 为什么会这样呢 如果我们在 C 代码中使用这样的代码 我们会得到什么好处 内联 PTX 使您可以访问未通过 CUDA 内在函数公开的指
  • 无法初始化 NVML:几个小时后 Docker 中出现未知错误

    我遇到有趣而奇怪的问题 当我使用 GPU 启动 docker 容器时 它工作正常 并且我看到 docker 中的所有 GPU 然而 几个小时或几天后 我无法在docker中使用GPU 当我做nvidia smi在泊坞窗机器中 我看到这条消息

随机推荐

  • Html / Php 表单未添加到 SQL 数据库

    我已经为此工作了几个小时 包括重建我的整个代码 我无法弄清楚出了什么问题 HTML 表单应该填充患者 SQL 数据库 但它不起作用 我在网站的另一部分使用了一个类似的表格 该表格可以完美地工作 但这个表格似乎不起作用 并且无法弄清楚为什么
  • MySQL REPEATABLE-READ Workbench 事务级别未设置

    我们在 my ini 文件中设置了以下内容 mysql 事务隔离 已提交读 我们假设此设置将是所有用户会话的默认设置 使用 PHPMyAdmin 登录时 tx isolation 设置正确并且按预期工作 然而 当使用 MySQL Workb
  • 拖放在 C# 中不起作用

    我在 C 中创建了一个拖放控件 以允许人们将文件拖放到我的表单上 这是我遇到的问题 调试时工作正常 但是 当以管理员模式运行我的程序时 它不起作用 这有什么原因吗 这是我的代码 private void panel1 DragEnter o
  • .NET 24 小时格式时间的正则表达式

    我可以在 NET 中有一个正则表达式吗 它只允许文本框中使用 24 小时时间格式 Thanks 此致 多发性硬化症 正则表达式 时间 hh mm 验证 24 小时格式 0 1 d 2 0 3 0 5 d 如果你也需要几秒钟 0 1 d 2
  • 使用 HTML 的 PHP 表格

    我的目标是使用一个 txt 文件 其中包含填写表单的特定响应所需的数据 该表格应该有用户名和密码 此外 还可以在表单上设置价格范围参数 用户名可以任意大小写 但密码区分大小写 我已经创建了我将使用的 html 表单 txt 文件中的数据包含
  • 使用函数参数进行回文条件检查[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 这是使用函数参数来检查字符串是否回文的 php 代码
  • Java 日期之间的天数(作业)

    当我运行该程序时 这是几天的休息时间 对我做错了什么有什么建议吗 我知道有一种更简单的方法可以做到这一点 但为此我试图展示查找之间的天数的所有实际步骤 家庭作业 因此不能使用日期时间库 public class DaysBetween pu
  • Spring REST 模拟上下文路径

    我尝试使用以下代码片段设置 Spring Rest 模拟的上下文路径 private MockMvc mockMvc Before public void setUp this mockMvc MockMvcBuilders webAppC
  • 重复条目并重命名 pandas 数据透视表中的列行而不进行聚合

    我正在尝试将这个示例数据帧从长格式重塑为宽格式 而不聚合任何数据 import numpy as np import pandas as pd df pd DataFrame SubjectID A A A B B C A Date 201
  • ssh远程主机标识已更改[关闭]

    Closed 这个问题是与编程或软件开发无关 目前不接受答案 我已经重新安装了服务器 并且收到以下消息 user hostname ssh root pong WARNING REMOTE HOST IDENTIFICATION HAS C
  • Libsodium“调用未定义的函数sodium_randombytes_buf”[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 尝试遵循示例here 但它给了我 Fatal error Uncaught Error Call to undefined function sodium randombytes buf
  • 如何更改 adobe reader 缩放级别?

    我有一个 Jasper Report 它在 Java Spring 中创建 PDF 我已经尝试改变缩放级别几个小时但没有成功 每当我使用 Adob e reader 打开 pdf 时 其分辨率为 149 同事甚至更糟 曾经有一个类似的que
  • 为什么可以将匿名类的实例分配给接口变量?

    我是 Java 新手 我无法理解之间的关系anonymous class instance and interface 请参阅中的示例这个网站 anonymous instance as a variable Runnable r new
  • 读取和写入文件的最简单方法

    有很多不同的方式来读取和写入文件 文本文件 不是二进制 在 C 中 我只需要简单且使用最少代码的东西 因为我将在项目中大量使用文件 我只需要一些东西string因为我需要的只是阅读和写作strings Use 文件 ReadAllText
  • 我是否需要在
    标记等末尾添加“/”? [复制]

    这个问题在这里已经有答案了 你需要有一个 在一个结束时img标签 我看见一个例子在 W3schools com 上没有 img src smiley gif alt Smiley face height 42 width 42 我知道没有必
  • 提取方法中的空验证

    我使用 c 8 和可空分析器 csproj
  • Shiny flexdashboard 中的facet_grid 给出错误“分面变量必须至少有一个值”

    我在获取 ggplot2 时遇到一些问题facet grid评估系统的绘图 该图渲染良好 但我在浏览器和控制台中收到以下错误 错误 分面变量必须至少有一个值 每次我根据输入切换品牌条目时都会发生这种情况input brand 应用程序不会崩
  • OpenCV:findContours 函数错误

    我正在使用 2 4 3 版本的 opencv 并尝试在精明的边缘检测后使用 findContours 函数 如下所示 struct Component cv Rect boundingBox double area double circu
  • Yii2 从后端控制器调用 api 方法

    我已经按照 Yii Rest API 文档基于高级模板实现了 API 我想从后端控制器调用 API 方法 可以做吗 Thanks 所以 我终于找到了解决办法 我的 Yii2 应用程序有高级模板 我已经创建了 api 模块 所以应用程序有 3
  • 复制到 CUDA 常量内存时设备符号无效

    我有几个图像处理应用程序的文件 由于在执行某些图像处理算法时图像的行数和列数不会改变 因此我试图将这些值放入常量内存中 我的应用程序看起来像 图像处理程序 constant int c rows constant int c cols if