Tag:

OpenMP基准测试:我做得对吗?

我制作了一个计算斐波纳契序列的程序。 我用不同数量的线程(例如,1,2,10)执行它,但执行时间几乎保持不变(约0.500秒)。 我在Ubuntu和GNU GCC编译器上使用CodeBlocks。 在CodeBlocks中,我链接了库gomp并为编译器定义了标志-fopenmp 。 #include #include #include int main() { int i, n=1000, a[n]; omp_set_num_threads(4); for(i=0; i<n; i++) { a[i] = 1 + (rand() % ( 50 – 1 + 1 ) ); } fibo(n, a); return 0; } void fibo(int sizeN, int n[]) { int i; #pragma omp parallel for for(i=0; i<sizeN; […]

为什么我无法正确打印第47个斐波纳契数?

我使用64位操作系统,然后我也无法正确打印第46个斐波那契数字,这个数字少于40亿。 #include #include int main(void) { unsigned int n=50; int array[n]; array[0]=0; array[1]=1; printf(“%i\n”,array[0]); printf(“%i\n”,array[1]); for(int i=2;i<n;i++) { array[i]=array[i-1]+array[i-2]; printf("%i\n",array[i]); }