318得票9回答
什么是“向量化”?

我在Matlab、Fortran或其他一些编程语言中多次遇到了“向量化”这个术语,但我从未找到过它的解释以及它的作用。因此,我在这里问一下,“向量化”是什么意思?例如,“循环被向量化”是什么意思?

21得票2回答
如何使用gcc进行向量化?

gcc编译器的v4系列可以自动使用一些现代CPU(如AMD Athlon或Intel Pentium/Core芯片)上的SIMD处理器对循环进行矢量化。这是如何实现的呢?

20得票3回答
为什么GCC不显示向量化信息?

我正在使用Codeblocks在Windows 7上编写C程序。该程序使用OMP库。GCC版本为4.9.2。Mingw x86_64-w64-mingw32-gcc-4.9.2.exe。 使用的标志是: -fopenmp -O3 -mfpmath=sse -funroll-loops -ft...

16得票1回答
编译器在普通的C代码中是否使用SSE指令?

我看到人们默认使用-msse -msse2 -mfpmath=sse标志,希望这样可以提高性能。我知道当在C代码中使用特殊向量类型时,SSE会被启用。但是这些标志对于常规的C代码有任何区别吗?编译器是否使用SSE来优化常规的C代码?

16得票1回答
.NET JIT编译器在什么条件下会执行自动向量化?

新的RyuJIT编译器是否会生成矢量(SIMD) CPU指令?如果会,何时生成? 副笔:System.Numerics命名空间包含的类型允许显式使用向量操作,具体是否生成SIMD指令取决于CPU、CLR版本、JITer版本、直接编译到本机代码与否等因素。本问题专门探讨非向量代码(例如C#或F...

14得票2回答
简单的getter/访问器阻止了向量化 - gcc bug?

考虑这个固定的vector<int>的最小实现: constexpr std::size_t capacity = 1000; struct vec { int values[capacity]; std::size_t _size = 0; ...

14得票1回答
为什么编译器在这里错过了矢量化?

考虑以下类似于valarray的类: #include <stdlib.h> struct va { void add1(const va& other); void add2(const va& other); size_t* dat...

14得票3回答
如何在使用GCC时禁用矢量化?

我正在使用以下命令编译我的代码:gcc -O3 -ftree-vectorizer-verbose=6 -msse4.1 -ffast-math 使用此选项将启用所有优化。 但是我想在保留其他优化的同时禁用向量化。

13得票1回答
为什么矢量化在几乎相同的代码中表现不同?

这里有些免费的函数,它们在第一种情况下没有向量化循环,但在其他情况下则是向量化的。为什么会这样呢?#include <vector> typedef std::vector<double> Vec; void update(Vec& a, const Vec...

13得票1回答
Cython在boundscheck=True的情况下比boundscheck=False更快。

考虑以下简单示例: #cython: language_level=3, boundscheck=False, wraparound=False, initializedcheck=False, cdivision=True cimport cython from libc.stdlib c...