将包含指向另一个结构的指针的结构传递给 CUDA 中的内核

2024-01-04

我有两个结构

struct collapsed {
    char **seq;
    int num;
};


struct data {
    collapsed *x;
    int num;
    int numblocks;
    int *blocksizes;
    float *regmult;
    float *learnmult;
};

我将它传递给我的内核:

__global__ void KERNEL(data* X,...){
    ...
    collapsed x = X->x[0]; // GIVES CUDA_EXPECTION_1:Lane Illegal Address
}

data X;
//init X
data *X_dev;
cudaMalloc((data **) & X_dev, sizeof(data));
cudaMemcpy(X_dev, &X, sizeof(data), cudaMemcpyHostToDevice);
KERNEL<<<...>>>(X_dev,...);

这段代码给出了CUDA_EXPECTION_1:通道非法地址在内核代码中。有什么问题或者正确的方法是什么?任何想法?


您正在取消引用设备上的主机指针。X是一个有效的设备指针。

但是当你复制X结构到设备,您复制了x随之而来的是,它包含一个主机指针。当您取消引用该指针时:

collapsed x = X->x[0];
                 ^ this is dereferencing the x pointer

设备代码抛出错误。

给出了更多细节here https://stackoverflow.com/questions/15431365/cudamemcpy-segmentation-fault/15435592#15435592以及如何修复它的说明。

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

将包含指向另一个结构的指针的结构传递给 CUDA 中的内核 的相关文章

  • C 中的 CUDA:如何使用 cudaMemcpyAsync 修复错误 11

    我目前正在尝试使用 CUDA 运行一个简单的多 GPU 程序 它的基本作用是将一个包含一些虚拟数据的大型数组复制到 GPU GPU 进行一些数学计算 然后将结果数组复制回来 我在 VS2017 的输出中没有收到任何错误 但我设置的一些错误消
  • 在向量::resize()和向量::reserve()之间选择

    我正在为我的 a 预先分配一些内存vector数据成员 例子 class A vector
  • Objective c,实例成员的内存管理

    我对实例成员的内存管理感到困惑 我有一个带有 ivar 的课程 DetailedResultsTableViewController detailedResultsTableViewController and property nonat
  • iOS 上的内存交换和虚拟内存 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Does iOS支持像Linux一样自动运行的内存交换和虚拟内存吗 iOS有虚拟内存 但没有后备存储 因此没有交换内存的调入 调出 A
  • 使用 std::string 导致 Windows“找不到入口点”[重复]

    这个问题在这里已经有答案了 当我用 G C C 编译它时 include
  • Cuda:最小二乘求解,速度较差

    最近 我使用Cuda编写了一个名为 正交匹配追踪 的算法 在我丑陋的 Cuda 代码中 整个迭代需要 60 秒 而 Eigen lib 只需 3 秒 在我的代码中 矩阵 A 是 640 1024 y 是 640 1 在每一步中 我从 A 中
  • 如何从内存转储中查找预加载系统绘图(位图)的 ID 或名称

    我正在分析我们应用程序的内存使用情况 发现很奇怪Drawables 它不断地 吃掉 几兆字节的堆 以下是一些截图MAT http www eclipse org mat Dominator tree with 2 pretty big bi
  • Java BigDecimal 内存使用情况?

    是否有一个指南来估计一个程序消耗的内存量BigDecimal 寻找与这些类似的东西指导方针 http www javamex com tutorials memory string memory usage shtml用于估计String内
  • CUDA 和 Eigen 的成员“已声明”错误

    我只是 CUDA 和 Nsight 的初学者 希望利用出色的 GPU 性能进行线性代数运算 例如 CUBLAS 我在以下人员的帮助下编写了很多自定义代码Eigen http eigen tuxfamily org index php tit
  • 修复 IE8 中的“未知运行时错误”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我没有看到其他人真正努力实现我的目标 很多人想通过innerHTML属性替换一些节点 但是 我不仅想这样做 而且我还想用javascrip
  • 无法编译cuda_ndarray.cu:libcublas.so.7.5:无法打开共享对象文件

    我正在尝试在 aws 实例中导入 theano 库以使用 GPU 我已经使用 boto 编写了一个 python 脚本来自动执行 aws 设置 该脚本本质上会从我的本地计算机对实例执行 ssh 然后启动一个 bash 脚本 其中我执行 py
  • 反序列化 XML 文件而不将其全部加载到内存中 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 假设您的应用程序使用 XmlSerializer 序列化对象 当应用程序的另一部分 例如外部服务或另一个组件 处理该 XML 文件时 会返回一个
  • 我的 Bitset 的大小是多少?

    我想存储System currentTimeInMillis以尽可能小的空间存储在内存中 因为我必须将数百万个它们存储在内存中 我把它转换为binaryString这给了我41 bits 这是我的程序 public class BitSet
  • 安全移动 C++ 对象

    我听到过一些警告 不要通过以下方式将对象运送到另一个内存位置memcpy 但不知道具体原因 除非它包含的成员做了依赖于内存位置的棘手事情 否则这应该是完全安全的 或者不是 编辑 预期的用例是像这样的数据结构vector 它存储对象 不是po
  • 布尔实现的atomicCAS

    我想弄清楚是否存在错误答案 https stackoverflow com a 57444538 11248508 现已删除 关于Cuda like的实现atomicCAS for bool是 答案中的代码 重新格式化 static inl
  • 以编程方式获取 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
  • NSMutableArray 实例变量内存管理

    我正在做最后一点内存管理整理 但有些东西我不明白 我已经检查了所有文档 Stack Overflow 等 但仍然不明白 我怀疑这与数组有关 我有一个NSMutableArray作为实例变量 我用它来保存从另一个数组中的对象创建的对象 vie
  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构

随机推荐

  • 在 TypeScript 中使用类型元素剔除可观察数组

    我目前正在考虑将我们的项目迁移到 TypeScript 我发现了this https github com borisyankov DefinitelyTyped一组很棒的定义文件 我目前正在尝试使用该文件Knockout http kno
  • Angular订阅表单组中表单数组中的值变化

    我是 angular8 我在表单组内有一个表单数组 但我想检测某个输入的新更改 ngOnInit void this makeForm this fb group year Validators required amount Valida
  • 使用 CSS 删除焦点选项卡的发光边框

    我正在尝试删除蓝色发光边框 当窗格聚焦于我的 javaFX 应用程序中选项卡窗格中的选项卡时 会出现该边框 关于如何在 css 中执行此操作有任何想法吗 这是我当前的CSS tab fx background radius 0 fx bac
  • 为什么只有ListView.builder()中的内容不滚动?

    我有一个带有文本小部件和 ListView 的屏幕 当我尝试在 ListView 内滚动时 它不允许我滚动 我的主体是 SingleChildScrollView 但不为 ListView builder 提供滚动视图 我尝试将 ListV
  • 为什么在 Fortran 中某些数组没有正确对齐以进行矢量化?

    我正在尝试通过矢量化 for 循环来改进 Fortran 77 代码 我对矢量化相当陌生 虽然我可以获得矢量化代码 但优化报告告诉我 我的一些数组具有未对齐的访问权限 据我了解 这使得矢量化效率较低 我已手动向数组添加填充 以便对齐数据 这
  • R闪亮:在完成所有observeEvent代码之前更新tabsetpanel

    我想立即更新选项卡面板 而不是等到完成下载功能 在这里你可以找到一个简单的代码它有一个按钮 当按下它时 它会模拟下载并更新选项卡面板 我想在完成下载之前更新面板 Thanks server lt function input output
  • 如何更改 Win32 API 应用程序中的控件主题?

    如果我在 Win32 API 中创建一个按钮 则默认控制主题看起来像 Windows 95 98 按钮 我记得过去微软论坛告诉我如何获得XP风格 但我不记得如何做到这一点 有没有办法以编程方式或手动更改 Win32 应用程序中的控件主题 谢
  • 如何在 matplotlib 中调整(偏移)颜色条标题

    给出以下代码 imshow np arange 16 16 reshape 16 16 cb colorbar cb set label Foo cb set ticks 0 255 其产生 如何调整颜色条文本 Foo 使其向左偏移 在 0
  • 在 swift 4 中未调用通知中心观察者

    我正在尝试从 appdelegate 发布通知 NotificationCenter 并在另一个视图中接收通知 但未收到通知 发布通知 func xmppStream sender XMPPStream didReceive message
  • formGroup 需要一个 FormGroup 实例

    我在 Plunkr 上有一个 Angular 2 RC4 基本表单示例 它似乎抛出以下错误 在 Chrome DEV 控制台中 这是笨蛋 https plnkr co edit GtPDxw p preview https plnkr co
  • 如何将二叉搜索树转换为双向链表?

    给定一个二叉搜索树 我需要仅使用指向 C 中结构的指针将其转换为双向链表 通过以锯齿形顺序遍历 如下所示 给定树 1 2 3 4 5 6 7
  • jQuery - 如何检测项目当前是否在视口之外?

    我正在构建一个页面 该页面将使用 ajax 来更新主要内容区域 用户将单击左侧菜单栏中的项目来更新右侧的 div 并包含搜索结果 我想检测用户是否已向下滚动到目前为止 导致右侧结果 div 移出视口 但有人检测到这一点吗 没有测试 跨浏览器
  • WPF - 在代码隐藏中更改网格中控件的位置

    是否可以从代码隐藏更改控件在网格中的放置位置 例如 如果我在 Grid Row 1 中有一个按钮 我可以将其从代码隐藏更改为 Grid Row 0 吗 是的 去吧 Grid SetRow button 0 其中 button 是要更改的元素
  • 依赖注入wcf

    我想在 WCF 中注入接口的实现 但我想在 WCF 客户端中初始化依赖注入容器 因此 我可以为我的服务的每个客户端提供不同的实现 当你使用svcutil exe or the 添加服务参考在 Visual Studio 中的向导中 自动生成
  • 为什么这个 %2B 字符串会被 urldecode ?

    这可能不完全是一个编程问题 但它是一个最好由程序员来回答的难题 我首先在专业网站管理员网站上尝试过 结果一片寂静 我们的网站上有电子邮件地址验证流程 该站点首先生成一个适当的密钥作为字符串 mykey 然后将该密钥编码为一堆字节 dac 然
  • jQuery 拖放到文本区域

    使用 jQuery 并希望让用户将占位符拖到文本区域中 每个占位符都是一个 span 其中有一个class placeholder 文本区域id简直就是 main text 因此 用户应该能够拖动每个占位符span将其放在文本区域顶部 然后
  • 我可以为多个 Meteor 应用程序使用同一个数据库吗?

    用例 我构建的应用程序app foo com 以及望远镜的实例community foo com 在单独的应用程序服务器上 他们唯一分享的收藏是users 我会给这两个应用程序提供相同的 mongo url 和 oplog url 并确保除
  • LyX->Rnw 转换会自动在重复的“<”字符之间插入连字符

    标题说明了一切 下面的屏幕截图给出了血淋淋的细节 临时缓冲区文件夹中的 Rnw 文件与图像中的 LaTeX Source 相同 正如您可以想象的 knit 不会编织this废话 我一生都无法弄清楚如何让这些结扎断裂消失 所以我想我的问题是
  • 计算卷积神经网络中特征图的维度

    我在 Keras 中有卷积神经网络 我需要知道每层特征图的尺寸 我的输入是 28 x 28 像素图像 我知道有一种方法可以计算这个我不知道如何 下面是我使用 Keras 的代码片段 img rows img cols 28 28 nb fi
  • 将包含指向另一个结构的指针的结构传递给 CUDA 中的内核

    我有两个结构 struct collapsed char seq int num struct data collapsed x int num int numblocks int blocksizes float regmult floa