GPU 执行指令流水线吗?

问题描述 投票:0回答:1

我通常编写并优化在 CPU 上运行的代码,但我目前正在尝试编写用于光散射的着色器。

我知道 CPU 进行了某些优化,以便尝试尽可能接近每个周期 1 条指令:指令流水线、分支预测等。

但是,我不太了解 GPU 核心如何处理这个问题。根据我的阅读,他们本身往往不进行分支“预测”,所以我想知道他们是否会流水线指令?

他们是否这样做可能会影响我如何拆分算法,因为我可以进行多个具有更多网络操作的独立计算,或者进行一个具有较少总体操作的顺序、数据相关计算。

gpu shader fragment-shader
1个回答
0
投票

GPU 确实利用了与 CPU 类似的指令流水线,允许它们同时执行多个指令。然而,由于 GPU 具有大规模并行架构,因此通常不采用传统的分支预测机制。相反,它们依赖于并行执行条件语句的两个分支,然后丢弃非活动分支的结果。因此,将算法拆分为多个可以同时执行的独立计算通常比依赖顺序、数据相关的计算更有利于 GPU 的性能。这种方法最大限度地提高了并行性,并允许 GPU 充分利用其计算资源。

© www.soinside.com 2019 - 2024. All rights reserved.