gpt4 book ai didi

c++ - SSE 指令在实践中优化了什么,编译器如何启用和使用它们?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:25:24 31 4
gpt4 key购买 nike

SSE 和/或 3D 现在!有 vector 指令,但它们在实践中优化了什么?例如,8 位字符是 4 乘 4 而不是 1 乘 1 处理的吗?是否对某些算术运算进行了优化?字长有什么影响(16 位、32 位、64 位)?

是否所有编译器都在它们可用时使用它们?

真的必须了解汇编才能使用 SSE 指令吗?了解电子学和门逻辑是否有助于理解这一点?

最佳答案

背景:SSE 同时具有 vector 和标量指令。 3D现在!死了。

在没有程序员帮助的情况下,任何编译器都很难从矢量化中获得有意义的好处。通过编程努力和实验,人们通常可以接近纯汇编的速度,而无需实际提及任何特定的 vector 指令。有关详细信息,请参阅编译器的 vector 编程指南。

涉及到一些可移植性权衡。如果您为 GCC 的矢量化程序编写代码,您可能能够使用非英特尔架构(例如 PowerPC 和 ARM),但不能使用其他编译器。如果您使用英特尔内在函数使您的 C 代码更像汇编,那么您可以使用其他编译器,但不能使用其他架构。

电子知识帮不了你。学习可用的说明将。

关于c++ - SSE 指令在实践中优化了什么,编译器如何启用和使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5677250/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com