热点推荐
ZOL首页 > 显卡 > 评测 >

GigaThread线程调度优化

改变翻天覆地 史上最全Fermi架构解读

CBSi中国·ZOL 作者:中关村在线 濮元恺 责任编辑:龚力成 【原创】 2010年03月26日 06:14 评论
在本页阅读全文(共16页)

    ●GigaThread线程调度优化

    Fermi架构的另一个重要特性,就是它的双层分布式调度机制。在片上的层面(SPA Streaming Processor Array,流式处理器矩阵级别),全局的分布式线程调度引擎(global work distribution engine)分发block到每一个SM上,在SM层面,每一个warp分布式调度引擎按照32个线程为一个warp执行。

    Fermi实现了SM级别的双发射,意味着SPMD(单线程多任务)的实现。从并行kernel下探到最底层,实际上就是靠的SM级别的双发射。SM级别的SPMD上升到GPU核心级别,Fermi就是MPMD(多线程多任务)。这种设计已经越来越像CPU,而且随着GPU的发展,每走一步,就多像一份。


30亿晶体管的咆哮
Fermi实现了SM单元级别的双发射

    第一代GigaThread线程调度引擎,在G80架构中实现了12288个线程的实时的调度管理。Fermi架构不只是增强了原有的机制,而且引进了更快的context上下文交换机制,并行kernel执行机制,增强了线程block的调度能力。Fermi的这项能力相对于上一代GPU提高了10倍。

    同时像CPU一样,GPU也可以利用context上下文交换机制来管理多任务的切换,每一个任务都可以用分时的方式利用处理器的计算资源。Fermi的运算流水线经过优化设计,把context上下文的切换时间减少到了10~20毫秒,极大的优化了上一代的GPU架构。不只是性能的提高,这个设计可以让开发者创建更快的kernel-to-kernel应用程序,例如让程序在图形和PhysX上的应用,图形与物理效果处理之间的运算也将受益于更快的context上下文交换机制。

●并行执行内核Concurrent Kernel Execution

30亿晶体管的咆哮
并行执行内核让资源利用更充分,计算速度更快

    Fermi支持kernel并发运行,同一应用程序的不同kernel可以同时运行在GPU上。Kernel并发机制可以让应用还曾向执行更多的kernel来发挥GPU的能力。例如,PhysX应用程序需要计算流体和固体,如果是串行执行,只能利用一半的线程处理器。Fermi的架构可以让同一个CUDA context的kernel都同时运行在同一个GPU上,这样可以更有效的利用GPU的资源。不同应用程序context的kernel函数也可以通过更快速的context切换,更快地运行在GPU上。

上一页 1 ...7 8 9 10 11 ...16 下一页
频道热词:华硕主板  Intel  AMD  
视觉焦点
显卡评测热点
排行 文章标题
TOP10周热门显卡排行榜
  • 热门
  • 新品