在不同的队列系列上重用相同的主机可见缓冲区

2024-06-26

考虑主机可见缓冲区(主要与流缓冲区相关,即由VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT内存),让我们想象一下以下使用模式:

  1. 将新数据写入主机上的映射地址(正确同步后)。
  2. 读取队列族 A 上步骤 1 中写入的内容的缓冲区。
  3. 将新数据写入主机上的映射地址(正确同步后)。
  4. 读取队列族 B 上步骤 3 中写入的内容的缓冲区。

现在,如果我省略队列族所有权转移 (QFOT),则步骤 3 中写入的数据是否无法在步骤 4 中被队列族 B 访问?

当我使用以下命令提交步骤 4 的命令时,写入在主机上的数据对设备可见vkQueueSubmit,由于隐式内存依赖性主机写订购保证 https://khronos.org/registry/vulkan/specs/1.2-khr-extensions/html/chap7.html#synchronization-submission-host-writes.

它如何与不同的队列系列一起使用?


好的,我们有了一个 CPU 可修改的缓冲区。由于某种原因,该缓冲区是在独占模式下创建的。并且您想要执行以下操作:

  1. 将数据写入缓冲区。
  2. 使用队列系列 A 复制数据。
  3. 将数据写入缓冲区。
  4. 使用队列族 B 复制数据。

为了使步骤 4 发挥作用,您需要required进行所有权转让。该标准在您引用的内容之前阐明了这一点:

如果在不同系列中的两个队列之间使用此类资源之间正确表达内存依赖性,但未定义所有权转移,则对于第二个队列系列执行的任何读取访问,该资源的内容都未定义。

您确实正确表达了依赖关系(我假设)。但复制数据是“读访问”。它由队列族 B 执行,与队列族 A 不同。因此,步骤 4(“读访问”)触发此子句:“该资源的内容未定义”。

“内容”是指all的内容。您在步骤 1 中写的内容and步骤 3。所有这些对于步骤 4 都是未定义的,除非您进行队列族所有权转移。

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

在不同的队列系列上重用相同的主机可见缓冲区 的相关文章

  • 在列标题上绘制矩形

    I m painting rectangle on the column headers in datagridview but on scrolling to right it disappears as in the picture s
  • 完全禁用 NVCC 优化

    我正在尝试测量 GPU 上的峰值单精度触发器 为此我正在修改 PTX 文件以在寄存器上执行连续的 MAD 指令 不幸的是 编译器正在删除所有代码 因为它实际上没有做任何有用的事情 因为我没有执行任何数据的加载 存储 是否有编译器标志或编译指
  • 子组调用索引是否映射到 gl_LocalInitationIndex?

    我需要计算吗gl SubgroupID gl SubgroupSize gl SubgroupInvocationID 或者我可以使用gl LocalInvocationIndex 单个子组内的调用是否连续gl SubgroupInvoca
  • 无需画布,用纯 JS 生成图像

    如何在没有画布的情况下用纯 JavaScript 无外部库 从像素数组生成 绘制图片 我尝试以URI形式生成图像但没有成功 图片格式不容易快速理解和实现 BMP 数据URI 您可以使用以下函数生成 BMP 位图 dataURI 24 位的
  • Tensorflow新Op CUDA内核内存管理

    我已经使用 GPU CUDA 内核在 Tensorflow 中实现了一个相当复杂的新 Op 该操作需要大量动态内存分配 这些变量不是张量 并且在操作完成后被释放 更具体地说 它涉及使用哈希表 现在我正在使用cudaMalloc and cu
  • 了解流式多处理器 (SM) 和流式处理器 (SP)

    我正在尝试了解 GPU 的基本架构 我已经阅读了很多材料 包括这个非常好的答案 https stackoverflow com a 2213744 2386113 但我仍然很困惑 无法得到一个好的图片 我的理解 GPU 包含两个或多个流式多
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • nvidia GPU 上的内核真的有超时吗?

    寻找为什么我的内核产生奇怪的错误消息或仅 0 结果的答案我发现了这个answer https stackoverflow com questions 3988645 cl out of resources for 2 millions fl
  • WebGL gl_FragColor alpha 在 Chrome 和 Firefox 中的行为不同

    下面的代码绘制了三个三角形alpha值 0 5 与 premultipliedAlpha false const gl document querySelector canvas getContext webgl premultiplied
  • 使用 3D 加速进行图形渲染

    我们为巨大的数据集生成图表 我们谈论的是每秒 4096 个样本 每张图 10 分钟 简单计算得出 每个线图有 4096 60 10 2457600 个样本 每个样本都是双精度 8 字节 精度 FP 此外 我们在一个屏幕上渲染多个线图 最多可
  • 压缩为 png 时位图颜色发生变化

    我目前正在开发一个隐写 Android 应用程序作为一个班级项目 我创建了一个对象 它将在另一个图像中对图像进行编码并返回编码的位图 该代码在单独的线程中运行 new Thread new Runnable public void run
  • R:如何改变格子(levelplot)颜色主题?

    我安装的默认主题是将值映射为粉色和青色的主题 例如如何将其更改为灰度主题 您可以使用 library lattice lattice options default theme standard theme color FALSE 它会打开
  • 使用 Python 图像库 (PIL) 绘制抗锯齿线

    我正在使用 Python 图像库的 ImageDraw line 绘制一堆线条 但它们看起来很可怕 因为我找不到消除锯齿的方法 如何在 PIL 中消除锯齿线 这是一个非常快速地组合在一起的函数 用于用 PIL 绘制一条抗锯齿线 这是我在谷歌
  • 最快的 Sobel 边缘检测 C#

    我想制作一个实现索贝尔边缘检测的程序 这是我的代码 private Bitmap SobelEdgeDetect Bitmap ori Bitmap b original Bitmap bb original int width b Wid
  • GDI 已加速。有谁知道这是什么时候发生的?

    概述这个问题的背景 在工作中我们使用 Dell Precision 工作站 我目前的电脑是 NVidia Quadro FX1700 我的团队正在开发实时数据采集系统的图形组件 因此 我们总是留意图形操作是否不会占用太多 CPU 时间 为了
  • 任意旋转中两条抛物线相交的代码或公式

    我正在研究一个几何问题 需要找到任何旋转中两个抛物线弧的交点 我能够通过旋转平面使弧与轴对齐来相交直线和抛物线弧 但两条抛物线不能同时与轴对齐 我正在努力推导公 式 但我想知道是否有可用的资源 我首先定义没有旋转的二维抛物线弧的方程 x t
  • Rails 3 > 在 rake 任务中渲染视图

    我遇到了一项需要为 Mailchimp 准备新闻通讯的 rake 任务 使用 google 搜索到的 Rails 2 x 内容 我现在有了以下代码 desc Sends newsletter to Mailchimp list task s
  • matlab:使用 GPU 保存图形中的图像

    我使用 matlab 渲染复杂的网格 使用 trimesh 材质 camlight 视图 不需要将其显示给用户 只需获取渲染图像即可 这在另一个问题中讨论过 https stackoverflow com questions 4137628
  • 训练某些网络时,Keras(Tensorflow 后端)在 GPU 上比在 CPU 上慢

    我很难理解为什么 GPU 和 CPU 速度在小规模网络中相似 CPU 有时更快 而 GPU 在大规模网络中更快 问题底部的代码在 i7 6700k 上运行时间为 103 7 秒 但使用tensorflow gpu 时 代码运行时间为 29
  • Java:当计时器处于活动状态时,JSplitPane 将顶部面板的内容复制到底部面板

    所以我有一个 JSplitPane 和两个 JPanel 一个在顶部 一个在底部 在这两个面板中 我重写了paintComponent方法并添加了我自己的图形 在底部面板中 我想添加动画 当面板不重新绘制时 这很好 但是一旦计时器 java

随机推荐

  • Html.BeginForm() 扩展类型

    有谁知道创建自定义 HtmlHelperextension 方法的语法 其行为类似于 p Loads of html stuff here p 我正在思考一些类似的事情 有任何想法吗 Cheers ETF 传真 您需要创建一个实现的类IDi
  • Travis-ci 和 Gobject 内省

    我正在尝试设置 Travis获取 GNOME https github com getting things gnome gtg My travis yml https github com getting things gnome gtg
  • JavaScript 无法解析 Java 中使用 Gson 序列化的字符串[重复]

    这个问题在这里已经有答案了 这不是重复的这个问题 https stackoverflow com q 15637429 274677因为这里的问题具体是关于在 JavaScript 中以文字形式从 Java 序列化的 JSON 字符串的表示
  • 如何在 Rails 应用程序中选择性地跟踪方法及其文件访问?

    对于 Rails 应用程序 我想重载或修改 Kernel load 以便它打印出完整路径 例如puts gt File expand path File dirname FILE File basename FILE 对于加载的每个 Rai
  • 如何使用 Swift 关闭打开的文件?

    我正在下载约 1300 张图像 这些是小图像 总大小约为 500KB 但是 下载并将它们放入 userDefault 后 我 收到如下错误 libsystem network dylib nw route get ifindex 套接字 P
  • 应用程序错误:故障地址0x00012afb(专家)

    我需要一些 光 来找到解决方案 可能有很多事情会导致这个问题 但也许有人可以帮助我 场景 Windows 服务器 24 7 运行 PostgreSQL 数据库和其他服务器应用程序 用于处理数据库上的任务等 有不同的服务器场景 30 具有不同
  • yaml 引用“___”分隔 kubernetes 对象

    我有一个这样的文件 apiVersion apps v1 kind Deployment spec template metadata annotations checksum config include print Template B
  • data.frame 按列分组[重复]

    这个问题在这里已经有答案了 我有一个数据框 DF 说 DF 是 A B 1 1 2 2 1 3 3 2 3 4 3 5 5 3 6 现在我想将 A 列的行组合在一起 并得到 B 列的总和 例如 A B 1 1 5 2 2 3 3 3 11
  • Rails 3 > 在 rake 任务中渲染视图

    我遇到了一项需要为 Mailchimp 准备新闻通讯的 rake 任务 使用 google 搜索到的 Rails 2 x 内容 我现在有了以下代码 desc Sends newsletter to Mailchimp list task s
  • 目录中每个文件的循环代码[重复]

    这个问题在这里已经有答案了 我有一个图片目录 我想循环遍历并对其进行一些文件计算 这可能只是睡眠不足 但我如何使用 PHP 来查找给定的目录 并使用某种 for 循环遍历每个文件 Thanks scandir http php net sc
  • 如何在每个项目的列表视图中实现简单的点赞按钮

    我的列表视图项目中有某些条目 我有一个简单的 喜欢按钮 不是像 Facebook 的按钮 您可以看到上面提到的屏幕截图 供参考 当我点击 喜欢 按钮的那一刻 我希望更改 喜欢 按钮的颜色 并且 喜欢 按钮的颜色应保持不变 改变了喜欢 当我再
  • 准确的JSON文本编码检测

    RFC4627 中描述了一种在 BOM 不存在时识别 Unicode 编码的方法 这依赖于 JSON 文本中的前 2 个字符始终是 ASCII 字符 但在RFC7159中 规范将JSON文本定义为 ws value ws 意味着单个字符串值
  • Python/Pandas –– ParserError:标记数据时出错。 C 错误:第 i 行中预期有 x 字段,但看到了 y

    我需要一些帮助 我正在使用以下代码 matplotlib inline import csv from datetime import datetime import numpy as np import pandas as pd from
  • 如何编写带有回调的简单react-native本机模块

    如何以最简单的方式完成这项工作 我无法将回调发送到react native 可能我错过了一些东西 ReactMethod public void testCallback Callback cb String sampleText Java
  • 根据id统计div元素

    我有一个类似的页面 div div div div div div div div div div div div 我想知道 id 与表达式 box content X text 其中 X 是数字 匹配的 div 的数量 我可以使用纯 ja
  • 良好的 WPF 或 silverlight windows 小工具示例

    有人有 WPF 或 silverlight windows 小工具的好例子吗 诺兰多02 您好 我在网上看到了一些侧边栏小工具演示和教程 我将在这里列出它们以供您审查 希望其中一些能引起您的注意 并为您的努力提供帮助 WPF http ww
  • 将颜色名称转换为十六进制代码的 Javascript 函数

    是否有一个内置函数可以将颜色按名称转换为其十六进制表示形式 就像我想传递 白色 并接收 FFFFFF 我真的想避免自己编写一百个 if 代码 不 但使用在这里列出 https www w3schools com colors colors
  • 如何在 Windows 路径中使用卷标?

    我想使用批处理文件从可移动驱动器复制文件 无论它获得的驱动器号是什么 到目前为止 还没有去 似乎没有任何现成的命令或第三方命令行工具可以处理基于卷标签的路径 我尝试了 FreeFileSync 但它可以大批量工作 并且我在这里需要精确的文件
  • 为什么 kafka 生产者在初始化时采用代理端点而不是 zk

    如果我有多个经纪人 我的制作人应该使用哪个经纪人 我需要手动切换broker来平衡负载吗 另外 为什么消费者只需要 Zookeeper 端点而不是 Broker 端点 教程中的快速示例 gt bin kafka console produc
  • 在不同的队列系列上重用相同的主机可见缓冲区

    考虑主机可见缓冲区 主要与流缓冲区相关 即由VK MEMORY PROPERTY DEVICE LOCAL BIT VK MEMORY PROPERTY HOST VISIBLE BIT内存 让我们想象一下以下使用模式 将新数据写入主机上的