首先:我在linux mint 17.3 x64
到目前为止我做了什么:
sudo apt-get install libcr-dev mpich2 mpich2-doc
(实际上应该没有安装)我从终端可以看到:
输出: echo $PATH
/path/to/mpj//bin:/home/timmy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/timmy/.openmpi/bin
(我想我要删除/path/to/mpj/
(不存在)和/home/timmy/.openmpi/bin
(我想删除以前版本的ompi))
输出: echo $LD_LIBRARY_PATH
(nothing)
真的,什么都没出现!
输出 mpirun
--------------------------------------------------------------------------
mpirun could not find anything to do.
It is possible that you forgot to specify how many processes to run
via the "-np" argument.
--------------------------------------------------------------------------
为什么我要删除Open MPI并重新安装
mpicc -openmp "test_omp.c" -o "test_omp"
而且,它忽略了我的Not defined function omp_get_thread_num();
命令。答案 0 :(得分:2)
您的问题是您为编译器提供了错误的选项以启用OpenMP支持。只有(商业)英特尔编译器才能理解-openmp
,这可能是您在其他问题中引用的网站上安装的工具集。大多数Linux发行版都附带GCC,其中一个假设mpicc
将使用GCC(请与mpicc -showme
一起查看)。
在GCC中启用OpenMP支持的选项是-fopenmp
(请注意f
)。