OpenMP实现矩阵转置

矩阵转置实际上是很简单的,但是数据类型是复数的时候,编译器会认为实部虚部有数据依赖从而不能自动向量化,通过编译指导#pragma ivdep可以解除这种貌似的数据依赖,但是自动向量化的执行速度应该没有OpenMP快,干脆改成OpenMP并行得了。

#include 
#include 
#include 
#define N 10240
#include 
#define NUM_THREADS 4
int main( int argc, char *argv[] )
{
	#if 1
	int c[N][N],trans[N][N];
	
	  for (int i=0; i

 

你可能感兴趣的:(c++,c)