我有一个矩阵(相对较大),我需要转置.例如假设我的矩阵是
a b c d e f
g h i j k l
m n o p q r
Run Code Online (Sandbox Code Playgroud)
我希望结果如下:
a g m
b h n
c I o
d j p
e k q
f l r
Run Code Online (Sandbox Code Playgroud)
最快的方法是什么?
我一直在努力使我的代码能够被GCC自动矢量化,但是,当我包含该-fopenmp
标志时,它似乎停止了所有自动矢量化的尝试.我正在使用它ftree-vectorize -ftree-vectorizer-verbose=5
来矢量化并监控它.
如果我不包含该标志,它会开始向我提供有关每个循环的大量信息,如果它是矢量化的,为什么不.当我尝试使用该omp_get_wtime()
函数时,编译器停止,因为它无法链接.一旦包含了标志,它就会简单地列出每个函数并告诉我它中的向量化0循环.
我读过这个问题已经提到了一些其他地方,但他们真的不来任何的解决方案:http://software.intel.com/en-us/forums/topic/295858 HTTP:// GCC. gnu.org/bugzilla/show_bug.cgi?id=46032.OpenMP有自己的处理矢量化的方法吗?我需要明确告诉它吗?