cuda wrap执行方式
2017-04-11 16:11
141 查看
原文:
At every instruction issue time, the SIMT unit selects a warp that is ready to execute and issues the next instruction to the active threads of the warp. A warp executes one common instruction at a time, so full efficiency is realized when all threads of
a warp agree on their execution path. If threads of a warp diverge via a data-dependent conditional branch, the warp serially executes each branch path taken, disabling threads that are not on that path, and when all paths complete, the threads converge back
to the same execution path. Branch divergence occurs only within a warp; different warps execute independently regardless of whether they are executing common or disjointed code paths.
意思:
在每一个指令执行的时间,SIMT(单指令多线程)单元选择一个可以执行的wrap和准备执行下条指令.一个wrap一次执行一个共有指令, 所以最有效率的显然是一个wrap内的所有线程具有相同的执行路径.这是因为如果一个wrap内的线程依赖数据出现了条件分支,那么这个wrap会顺序执行每一个分支的路径,而在执行某一个分支路径的时候,不在这个分支上的线程将不会被激活执行(暂停),当所有的分支都被执行完成后,线程会重新聚集回到相同的执行路径上.但分支的概念只在一个wrap内;不同wrap的执行是独立的不管他们是否正在执行共有或者不同的代码路径.
At every instruction issue time, the SIMT unit selects a warp that is ready to execute and issues the next instruction to the active threads of the warp. A warp executes one common instruction at a time, so full efficiency is realized when all threads of
a warp agree on their execution path. If threads of a warp diverge via a data-dependent conditional branch, the warp serially executes each branch path taken, disabling threads that are not on that path, and when all paths complete, the threads converge back
to the same execution path. Branch divergence occurs only within a warp; different warps execute independently regardless of whether they are executing common or disjointed code paths.
意思:
在每一个指令执行的时间,SIMT(单指令多线程)单元选择一个可以执行的wrap和准备执行下条指令.一个wrap一次执行一个共有指令, 所以最有效率的显然是一个wrap内的所有线程具有相同的执行路径.这是因为如果一个wrap内的线程依赖数据出现了条件分支,那么这个wrap会顺序执行每一个分支的路径,而在执行某一个分支路径的时候,不在这个分支上的线程将不会被激活执行(暂停),当所有的分支都被执行完成后,线程会重新聚集回到相同的执行路径上.但分支的概念只在一个wrap内;不同wrap的执行是独立的不管他们是否正在执行共有或者不同的代码路径.
相关文章推荐
- CUDA之Thread、Wrap执行详解
- 思科路由器的存储器分类,四种执行模式及不同接入方式的密码设定
- ADO的异步执行方式
- 如何以批处理方式执行多条SQL语句
- CUDA 线程执行模型分析(二)大军未动粮草先行------GPU的革命
- C#编程方式执行包的任务
- SqlCommand的4种执行方式
- 数据绑定方式影响执行效率
- CUDA 线程执行模型分析(一)招兵------ GPU的革命 推荐
- CUDA 线程执行模型分析 GPU 推荐
- 从一个 LNK (快捷方式)取得该快捷方式的指向 EXE(可执行档)?
- Oracle动态执行SQL四种方式的例子
- Oracle动态执行SQL四种方式的例子
- c++ 重载 覆盖 隐藏的区别和执行方式
- 怎样以只读方式查看并执行包
- 异步执行方式改称同步执行方式
- servlet的实例变量是线程不安全的,而其JSP也默认是以多线程方式执行(原创)
- 传统语言的编译和执行方式和C#、Java有什么不同?
- AJAX示例应用-2(两级菜单的联动)-方式2(服务器以字符串形式执行代码在客户端运行)
- C#编程方式执行包的任务