首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何比较向量化代码和非向量化代码

如何比较向量化代码和非向量化代码
EN

Stack Overflow用户
提问于 2018-12-05 10:38:36
回答 1查看 146关注 0票数 1

我想知道如何将向量化代码与其非向量化版本进行比较?例如,我有一个简单的fortran代码,我用-O2编译它以启用自动矢量化。之后,我可以从优化报告中看到,循环是矢量化的。现在,如果我想将这个矢量化代码和它的非向量化版本进行比较,我应该用-O2 -no-vec-O1甚至-O0编译相同的代码吗?嗯,根据我的经验,-O2 -no-vec-O1都没有明显的区别,尽管前者总是稍微好一点。然而,如果我比较-O2-O0,结果会有很大的不同,它们比向量宽度的数目更多;因此,我确信不应该为了强调向量化的好处而比较它们。因此,我只想知道我是否应该将-O2-O2 -no-vec-O1进行比较,因为我阅读了许多从未详细解释过这一问题的期刊,但只说明了“.与其非向量化版本相比,向量化代码实现了.”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-05 11:54:23

编译器优化级别包含许多单独的优化,而不仅仅是向量化。可以是数学模型,循环展开.

结果对所有这些都不同,所以是的,禁用编译器(未指定.)矢量化例程,以看到仅仅是矢量化所造成的差异。

您不应该进行更低的优化,因为这些其他的优化可以自己添加数值差异。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53630376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档