linux+fortran+openmp使用中遇到的一些问题

1运行程序发现  cannot execute binary file

描述:

使用load  ./可执行文件 查看

 ld: warning: cannot find entry symbol _start; defaulting to 00000000004000e8
earth2_omp.allloop.fromPC: In function `MAIN__':
earth2_omp.allloop.fromPC.for:(.text+0x19): undefined reference to `_gfortran_set_options'
earth2_omp.allloop.fromPC.for:(.text+0x2d): undefined reference to `_gfortran_cpu_time_4'
earth2_omp.allloop.fromPC.for:(.text+0x61): undefined reference to `_gfortran_system_clock_4'

添加了-lgfortran 和 -lm之后还是报这样的错误。应该是需要安装库或者连接好库。

解决:

earth项目进展:

1 实验2,,,,8线程的,观察是不是线程越多,精度越差。如果是,那就验证了 是因为 openmp乱序执行引起的截断误差的积累,导致openmp的结果精度差

2线程并行很快就运行完了(这是不正常的)。对比结果,感觉有错误。

原文地址:https://www.cnblogs.com/catkins/p/5270662.html