为什么GK110有192个核心和4个扭曲?

2024-04-07

我想感受一下开普勒的架构,但这对我来说没有意义。

如果一个 warp 有 32 个线程,其中 4 个被调度/执行,则意味着 128 个核心正在使用,64 个核心处于空闲状态。白皮书中提到了独立指令,那么64核是为这些指令保留的吗?

如果是这样,有人能给我举个例子,说明何时需要独立指导吗?


Kepler 中的每个 SM 都有 192 个 (SP) 核心和 4 个 warp 调度器。每个 warp 调度程序都能够双发行这意味着在某些情况下,它实际上可以在单个发出槽中从给定线程块(实际上针对特定扭曲)发出 2 条指令。

其中一种情况是指令应该是独立的,这粗略地说意味着两条指令都依赖于另一条指令的输出。

有了 4 个 warp 调度程序(每个都可以进行双重发布),理论上可以启动最多 8 个 warp 指令的工作。这至少在理论上足以让 192 个 (SP) 核心保持忙碌。

除了通常称为“核心”的 SP 单元之外,SM 还具有执行单元,因此实际的指令混合将决定在任何给定的发布槽中调度哪些执行单元。

您可以在中获得更详细的描述GK110白皮书 http://www.nvidia.com/content/PDF/kepler/NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf.

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

为什么GK110有192个核心和4个扭曲? 的相关文章

  • GPU 上的高效全对集交集

    I have n集合 有限宇宙的子集 我想计算n n矩阵 其中 I J 条目包含集合交集的基数I并设置J n的顺序是50000 我的想法是将矩阵分割成足够小的块 以便每个条目都有一个线程 每个线程都应该使用以下方法计算交集bitwise a
  • 使用 nvcc 编译给出“没有这样的文件或目录”

    我正在尝试在 Ubuntu 上使用 nvcc 编译 CUDA 代码 但是 当我这样做时 我得到以下输出 gt make usr local cuda bin nvcc m64 ptxas options v gencode arch com
  • 如何使用 blas 以最佳方式转置矩阵?

    我正在做一些计算 并对不同 BLAS 实现的优势和弱点进行一些分析 但是我遇到了一个问题 我正在测试 cuBlas 在 GPU 上执行 linAlg 似乎是一个好主意 但有一个问题 cuBlas 实现使用列主格式 并且由于这不是我最终需要的
  • 如何在arch linux中降级到cuda 10.0?

    我想在 arch linux 中将我的 cuda 10 1 降级到 cuda 10 0 因为 TensorFlow 仅需要 cuda 10 0 我在 arch Linux 的 CUDA 10 1 上安装了tensorflow 但我不知道te
  • CUDA:如何直接在GPU上使用thrust::sort_by_key? [复制]

    这个问题在这里已经有答案了 Thrust 库可用于对数据进行排序 该调用可能如下所示 带有键和值向量 thrust sort by key d keys begin d keys end d values begin 在 CPU 上调用 d
  • CUDA全局内存事务的成本

    根据 CUDA 5 0 编程指南 如果我同时使用 L1 和 L2 缓存 在 Fermi 或 Kepler 上 则所有全局内存操作都使用 128 字节内存事务完成 但是 如果我仅使用 L2 则使用 32 字节内存事务 第 F 4 2 章 让我
  • CUDA错误:在python中使用并行时初始化错误

    我的代码使用 CUDA 但运行速度仍然很慢 因此 我将其更改为使用 python 中的多处理 pool map 并行运行 但我有CUDA ERROR initialization error 这是函数 def step M self ite
  • 使用常量内存打印地址而不是cuda中的值

    我试图在代码中使用常量内存 并从内核分配常量内存值 而不是使用 cudacopytosymbol include
  • 指定 NVCC 用于编译主机代码的编译器

    运行 nvcc 时 它始终使用 Visual C 编译器 cl exe 我怎样才能让它使用GCC编译器 设置CC环境变量到gcc没有修复它 我在可执行文件帮助输出中也找不到任何选项 在 Windows 上 NVCC 仅支持 Visual C
  • 使用内置显卡,没有NVIDIA显卡,可以使用CUDA和Caffe库吗?

    使用内置显卡 没有 NVIDIA 显卡 可以使用 CUDA 和 Caffe 库吗 我的操作系统是 ubuntu 15 CPU为 Intel i5 4670 3 40GHz 4核 内存为12 0GB 我想开始学习深度学习 CUDA 适用于 N
  • Golang调用CUDA库

    我正在尝试从 Go 代码中调用 CUDA 函数 我有以下三个文件 test h int test add void test cu global void add int a int b int c c a b int test add v
  • Cuda Bayer/CFA 去马赛克示例

    我编写了一个 CUDA4 Bayer 去马赛克例程 但它比在 16 核 GTS250 上运行的单线程 CPU 代码慢 块大小是 16 16 图像暗淡是 16 的倍数 但更改此值并不会改善它 我做了什么明显愚蠢的事情吗 calling rou
  • 如何将CUDA时钟周期转换为毫秒?

    我想用一些代码来测量时间within我的内核需要 我已经关注了这个问题 https stackoverflow com questions 11209228 timing different sections in cuda kernel连
  • 使用 QuasirandomGenerator (对于傻瓜来说)

    我是 CUDA 的新手 我正在努力在内核中生成随机数 我知道有不同的实现 而且 在 SDK 4 1 中有一个 Niederreiter 拟随机序列生成器的示例 我不知道从哪里开始 我有点悲伤 感觉自己像个傻瓜 有人可以制作一个使用 Nied
  • CUDA程序导致nvidia驱动程序崩溃

    当我超过大约 500 次试验和 256 个完整块时 我的 monte carlo pi 计算 CUDA 程序导致我的 nvidia 驱动程序崩溃 这似乎发生在 monteCarlo 内核函数中 任何帮助都会受到赞赏 include
  • cuda cpu功能-gpu内核重叠

    我在尝试开发以练习 CUDA 的 CUDA 应用程序时遇到并发问题 我想通过使用 cudaMemecpyAsync 和 CUDA 内核的异步行为来共享 GPU 和 CPU 之间的工作 但我无法成功重叠 CPU 执行和 GPU 执行 它与主机
  • 传递给 CUDA 的结构中的指针

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

    我正在寻找 CUDA 上的排序算法 它可以对元素数组 A 双精度 进行排序 并返回该数组 A 的键 B 数组 我知道sort by keyThrust 库中的函数 但我希望元素数组 A 保持不变 我能做些什么 我的代码是 void sort
  • MPI+CUDA 与纯 MPI 相比有何优势?

    加速应用程序的常用方法是使用 MPI 或更高级别的库 例如在幕后使用 MPI 的 PETSc 并行化应用程序 然而 现在每个人似乎都对使用 CUDA 来并行化他们的应用程序或使用 MPI 和 CUDA 的混合来解决更雄心勃勃 更大的问题感兴
  • 设置最大 CUDA 资源

    我想知道是否可以设置 CUDA 应用程序的最大 GPU 资源 例如 如果我有一个 4GB GPU 但希望给定的应用程序只能访问 2GB 如果它尝试分配更多 就会失败 理想情况下 这可以在进程级别或 CUDA 上下文级别上设置 不 目前没有允

随机推荐

  • 即使使用智能指针,C++ 在发生异常时也会泄漏

    我是智能指针世界的新手 我已经阅读完毕 他们都指出 即使程序在遇到异常后退出 智能指针也可以避免内存泄漏 我写了一个简单的程序来尝试一下 但是Valgrind http en wikipedia org wiki Valgrind告诉我我的
  • C 将未知大小的数组传递给单个变量中的函数

    在 C 中 我必须将数组传递给单个变量中的函数 并且在程序运行之前不知道数组的大小 纸上解决方案是在数组中添加一个额外的元素 用于存储数组的大小 我认为这称为 哨兵值 好的 但我在实现这个时遇到问题 将 array 作为函数参数传递似乎不起
  • 使用 JFreeChart 散点图有没有办法细分数据集的样式?

    我正在使用 JFreeChart 渲染包含数千个数据点的散点图 我通过将合适的 XYLineAndShapeRendererper 附加到每个数据集来控制每个 ScatterPlotDataset 的外观 样式 例如 数据集 1 中的点显示
  • 在运行时更改标签位置

    如何改变UILabel运行时的位置 Thanks label frame CGRectMake or label center CGPointMake
  • R中不同时间序列数据值的互相关

    我有 5 个地点 15 天的时间序列数据 以日格式 存储为matrix 数据的结构是 meter daywise lt structure c 24 4745528484842 21 5936510486629 58 91208965401
  • 在C中使用AVX实现矩阵运算

    我正在尝试使用 AVX 实现以下操作 for i 0 i
  • 通过代理使用 mySql 抛出异常 原因:java.sql.SQLException:不支持可调用语句。重新连接后

    大家好 我有这个问题 我启动我的应用程序 然后当它运行时我关闭 mysql 服务 当然我开始得到java sql SQLException Callable statements not supported 重新启动 mySql 服务后一切
  • 如何从flutter中的自定义Widget获取价值?

    我正在创建一个需要字符串列表并返回选定字符串的小部件 要多次使用 我创建了这个小部件名称过滤器面板 喜欢选择最喜欢的游戏 电影等 我已经解决了它放置在 showDialog 中 但在这里我不想使用显示对话框 class FilterScre
  • 将媒体查询上的导航栏移至右侧

    我试图在浏览器窗口达到一定大小时将导航栏移动到右侧的固定位置 并在浏览器窗口小于该大小时将其放在顶部 使用下面的代码 如 jsfiddle 中所示 当我调整 html 大小时 导航栏在左侧 而不是右侧 对齐 问题 如何将媒体查询上的导航栏移
  • 如何在不是字典的 json 模式中创建模式引用的嵌套列表(数组)

    所以我有一个类似的问题 参见 如何在 json 模式中创建模式引用的嵌套列表 数组 https stackoverflow com questions 35545812 how do i do a nested list array of
  • 您应该多久发布一次软件更新? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • iOS 上独立 Web 应用程序的调试控制台[重复]

    这个问题在这里已经有答案了 在 iPad 上测试我的 Web 应用程序时 我可以启用 Safari Mobile 的调试控制台并愉快地读取我的日志输出 我找不到对独立应用程序执行相同操作的方法 这意味着 Web 应用程序已 添加到主屏幕 并
  • .NET 中的值类型实际上是如何工作的?

    我在理解 NET 中的值类型表示时遇到问题 每个值类型都派生自 System ValueType 类 那么这是否意味着值类型是一个类 例如 如果我写 int x 5 这意味着我创建了一个实例System Int32类an 将其写入变量x S
  • 如何监听任意端口的广播包?

    使用 NET 如何在任何端口上侦听发送到 255的udp广播数据包 而不需要绑定到特定端口 我自己找到了办法 它是这样工作的 mainSocket new Socket AddressFamily InterNetwork SocketTy
  • JavaScript 访问父对象属性

    我在 JS 中遇到一个小问题 我有两个嵌套对象 我想从父对象访问一个变量 如下所示 var parent a 5 child b 3 displayA function console log this a undefined displa
  • iOS 中的本地通知没有任何声音

    void notifyMe UILocalNotification localNotification UILocalNotification alloc init localNotification fireDate NSDate dat
  • Git:父提交比后代提交年轻?

    我正在浏览http arago project org git projects linux omap3 git http arago project org git projects linux omap3 gitrepo 并遇到了一个奇
  • MASM0015; Web服务HandlerTubeFactory异常

    我正在尝试创建一个可以调用另一个的网络服务链 我已经创建了第一个服务并成功部署在 weblogic12c 上 当第一个 Web 服务尝试调用外部 Web 服务时 出现以下异常 notifyAbout WSTestOuter outer ne
  • 使用 javascript 加载部分 html

    在我的网站上 我加载在服务器 nodejs 上呈现的 html 并将其插入到正确的位置 大多数情况下是带有 id 内容的 div 如何在客户端插入接收到的 html 以便执行包含的脚本标记 我在客户端使用下划线和把手 但 vanillajs
  • 为什么GK110有192个核心和4个扭曲?

    我想感受一下开普勒的架构 但这对我来说没有意义 如果一个 warp 有 32 个线程 其中 4 个被调度 执行 则意味着 128 个核心正在使用 64 个核心处于空闲状态 白皮书中提到了独立指令 那么64核是为这些指令保留的吗 如果是这样