GPGPU:在warp中有一个共同的PC的结果 [英] GPGPU: Consequence of having a common PC in a warp

查看:419
本文介绍了GPGPU:在warp中有一个共同的PC的结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一本书中读到,在波前或扭曲中,所有线程都共享一个公共程序计数器。那么它的后果是什么呢?为什么这么重要?

I read in a book that in a wavefront or warp, all threads share a common program counter. So what is its consequence? Why does that matter?

推荐答案

NVIDIA GPU一次执行32个线程,而AMD GPU在时间(波阵面)执行64个线程。控制逻辑,读取和数据路径的共享减少了面积,并增加了perf / area和perf / watt。

NVIDIA GPUs execute 32-threads at a time (warps) and AMD GPUs execute 64-threads at time (wavefronts). The sharing of control logic, fetch, and data paths reduces area and increases perf/area and perf/watt.

为了利用设计编程语言,开发人员需要了解如何合并内存访问以及如何管理控制流分歧。如果warp / wavefront中的每个线程采用不同的执行路径,或者每个线程访问显着不同的内存,那么设计的好处就会丢失,性能会大大降低。

In order to take advantage of the design programming languages and developers need to understand how to coalesce memory accesses and how to manage control flow divergence. If each thread in a warp/wavefront takes a different execution path or if each thread accesses significantly divergent memory then the benefits of the design are lost and performance will significantly degrade.

这篇关于GPGPU:在warp中有一个共同的PC的结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆