gpt4 book ai didi

c++ - OS X 上的 OpenMP 汇编程序错误

转载 作者:行者123 更新时间:2023-11-30 17:09:55 24 4
gpt4 key购买 nike

我一直在尝试让 openMp 在我的 Mac 上工作。最后我终于成功地完成了它。

这个程序完美运行

https://computing.llnl.gov/tutorials/openMP/samples/C/omp_hello.c

但是这个:

#include <omp.h>
#include <stdio.h>
#include <stdlib.h>

static long num_steps = 100000;
double step;

int main(){

int i, nthreads;
double x,pi,sum[2] ;
double start = omp_get_wtime();
double end;

step = 1.0/(double)num_steps;

omp_set_num_threads(2);

#pragma omp parallel
{
int i, id,nthrds;
double x;
id = omp_get_thread_num();
nthreads = omp_get_num_threads();
if(id == 0) nthreads = nthrds;

for(i = 0 ; i < num_steps ; i = i+nthrds){
x = (i+0.5)*step;
sum[id] += 4.0/(1.0+x*x);
//printf("Thread_num : %d ,%f\n", omp_get_thread_num(),sum);
}

}
//pi = step*sum;

for (int i = 0, pi =0.0; i < nthreads; ++i)
{
/* code */
pi += sum[i] * step;
}

end = omp_get_wtime();
printf("%f\n", end-start);

return 0;
}

..向我抛出这些错误

gcc -fopenmp helloWorld.c -o helloWorld
/var/folders/d7/2jjg9ygj7zscb67wnskcxsk40000gp/T//cc4hIbK6.s:19:suffix or operands invalid for `movq'
/var/folders/d7/2jjg9ygj7zscb67wnskcxsk40000gp/T//cc4hIbK6.s:64:suffix or operands invalid for `movq'
/var/folders/d7/2jjg9ygj7zscb67wnskcxsk40000gp/T//cc4hIbK6.s:68:suffix or operands invalid for `movq'
/var/folders/d7/2jjg9ygj7zscb67wnskcxsk40000gp/T//cc4hIbK6.s:69:suffix or operands invalid for `movq'

我不知道为什么要这样做。在我在这里提问之前,我在网上搜索过,但我找不到有人在 openMP 方面遇到过这个问题。

(我也不完全确定编译器是否安装良好。我安装了很多东西,其中一些有效,有些没有)

最佳答案

对于所有阅读本文的人:我更新了 gcc (使用brew),然后使用 gcc-5 运行程序..希望你们也能成功。祝你好运。

关于c++ - OS X 上的 OpenMP 汇编程序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33075748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com