为什么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个扭曲? 的相关文章

  • CUDA线程执行顺序

    我有一个 CUDA 程序的以下代码 include
  • 无法在 CUDA 中执行设备内核

    我正在尝试在全局内核中调用设备内核 我的全局内核是矩阵乘法 我的设备内核正在查找乘积矩阵每列中的最大值和索引 以下是代码 device void MaxFunction float Pd float max int x threadIdx
  • CUDA 常量内存是否应该被均匀地访问?

    我的 CUDA 应用程序的恒定内存小于 8KB 既然它都会被缓存 我是否需要担心每个线程访问相同的地址以进行优化 如果是 如何确保所有线程同时访问同一地址 既然它都会被缓存 我是否需要担心每个线程访问相同的地址以进行优化 是的 这缓存本身每
  • 在 cudaFree() 之前需要 cudaDeviceSynchronize() 吗?

    CUDA 版本 10 1 帕斯卡 GPU 所有命令都发送到默认流 void ptr cudaMalloc ptr launch kernel lt lt lt gt gt gt ptr cudaDeviceSynchronize Is th
  • CUDA - 将 CPU 变量传输到 GPU __constant__ 变量

    与 CUDA 的任何事情一样 最基本的事情有时也是最难的 所以 我只想将变量从 CPU 复制到 GPUconstant变量 我很难过 这就是我所拥有的 constant int contadorlinhasx d int main int
  • 最小化 MC 模拟期间存储的 cuRAND 状态数量

    我目前正在 CUDA 中编写蒙特卡罗模拟 因此 我需要生成lots使用随机数cuRAND图书馆 每个线程处理一个巨大的元素floatarray 示例中省略 并在每次内核调用时生成 1 或 2 个随机数 通常的方法 参见下面的示例 似乎是为每
  • OS X 10.8 上的 PyCuda / 多处理问题

    我正在开发一个项目 将计算任务分配给多个 python 进程 每个进程都与其自己的 CUDA 设备关联 生成子进程时 我使用以下代码 import pycuda driver as cuda class ComputeServer obje
  • CUDA 5.0错误LNK2001:cuda方法无法解析的外部符号

    我的链接器有错误 1 gt ManifestResourceCompile 1 gt All outputs are up to date 1 gt kernel cu obj error LNK2001 unresolved extern
  • PyInstaller 是否包含 CUDA

    我正在开发一个Python脚本 我使用Python 3 7 3 它使用tensorflow gpu 1 14 0 并使用PyInstaller 3 5将此脚本转换为可执行文件 我使用的是 CUDA 10 0 和 cuDNN 7 6 1 我的
  • 用于计算邻居列表的最佳 GPU 算法

    给定 3D 中数千个点的集合 我需要获取落在某个截止值 以欧几里得距离而言 内的每个粒子的邻居列表 并且如果可能的话 从最近到最远排序 在 CUDA 或 OpenCL 语言中 哪种 GPU 算法最快 我所知道的最快的 GPU MD 代码之一
  • 如何在CUDA应用程序中正确应用线程同步?

    一般来说 我在应用程序中偶尔会使用线程同步 因为我并不经常需要此功能 我并不是真正的高级 C C 程序员 但我也不是初学者 我开始学习 CUDA C 对当今 GPU 与 CPU 的能力相比感到兴奋 我意识到 CUDA 编程主要是关于并行线程
  • C 中的 CUDA:如何使用 cudaMemcpyAsync 修复错误 11

    我目前正在尝试使用 CUDA 运行一个简单的多 GPU 程序 它的基本作用是将一个包含一些虚拟数据的大型数组复制到 GPU GPU 进行一些数学计算 然后将结果数组复制回来 我在 VS2017 的输出中没有收到任何错误 但我设置的一些错误消
  • CUDA 8 编译错误 -std=gnu++11

    我正在尝试转换一些代码以使用 CUDA 并且我认为我遇到了兼容性问题 我们使用CMake 这些是我使用的 gcc 和 CUDA 版本 gcc version gcc Ubuntu 5 4 0 6ubuntu1 16 04 5 5 4 0 2
  • NVCC 警告级别

    我希望 NVCC 将以下警告视为错误 warning calling a host function foo from a host device function bar NVCC 文档 NVIDIA CUDA 编译器驱动程序 NVCC
  • 使用 GPU 进行 Matlab 卷积

    我用gpuArray尝试了matlab的卷积函数conv2 convn 例如 convn gpuArray rand 100 100 10 single gpuArray rand 5 single 并将其与 cpu 版本 convn ra
  • 无法在 CUDA 中找到 1 到 100 数字的简单和?

    我正在研究使用 CUDA 的图像处理算法 在我的算法中 我想使用 CUDA 内核找到图像所有像素的总和 所以我在cuda中制作了内核方法 来测量16位灰度图像的所有像素的总和 但我得到了错误的答案 所以我在cuda中编写了一个简单的程序来查
  • CUDA 和 Eigen 的成员“已声明”错误

    我只是 CUDA 和 Nsight 的初学者 希望利用出色的 GPU 性能进行线性代数运算 例如 CUBLAS 我在以下人员的帮助下编写了很多自定义代码Eigen http eigen tuxfamily org index php tit
  • 使用推力来处理 CUDA 类中的向量?

    我对 C 类的推力的适用性有疑问 我正在尝试实现一个类对象 该对象接收顶点的 x y z 坐标作为 ver1 ver2 和 ver3 然后 分配给一个三角形并计算面积和法向量 然而 我不太明白如何创建一类推力向量 这是我从文件中读取的顶点坐
  • CUDA-Kernel 应该根据块大小动态崩溃

    我想做稀疏矩阵 密集向量乘法 假设用于压缩矩阵中条目的唯一存储格式是压缩行存储 CRS 我的内核如下所示 global void krnlSpMVmul1 float data mat int num nonzeroes unsigned
  • 布尔实现的atomicCAS

    我想弄清楚是否存在错误答案 https stackoverflow com a 57444538 11248508 现已删除 关于Cuda like的实现atomicCAS for bool是 答案中的代码 重新格式化 static inl

随机推荐

  • 即使使用智能指针,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核是为这些指令保留的吗 如果是这样