intel / oneapi-containers

BSD 3-Clause "New" or "Revised" License
111 stars 45 forks source link

When using the mpirun, I got the "Program Exception - illegal instruction" #38

Closed LemingVan closed 8 months ago

LemingVan commented 1 year ago

Hi, everyone.

I try to compile a test in the docker image, but the "mpirun" command showed something wrong. Could anyone tell me why? Thanks in advance.

截屏2023-01-24 18 02 09
gorozco1 commented 9 months ago

hi @LemingVan which version of hpckit are you using and which is your hardware underlying ?

using latest hpckit container on a small intel system works docker pull intel/hpckit

docker run --rm -it intel/hpckit 
root@d926989812e1:~# cd /opt/intel/oneapi/mpi/2021.11/opt/mpi/test
root@d926989812e1:/opt/intel/oneapi/mpi/2021.11/opt/mpi/test# ls
test.c  test.cpp  test.f  test.f90  test.java
root@d926989812e1:/opt/intel/oneapi/mpi/2021.11/opt/mpi/test# mpiifort test.f90 -o test
root@d926989812e1:/opt/intel/oneapi/mpi/2021.11/opt/mpi/test# ll
total 632
drwxr-xr-x 1 root root   4096 Nov 27 03:35 ./
drwxr-xr-x 1 root root   4096 Nov 21 15:40 ../
-rwxr-xr-x 1 root root 613152 Nov 27 03:35 test*
-rw-r--r-- 1 root root   1786 Oct  5 23:08 test.c
-rw-r--r-- 1 root root   1800 Oct  5 23:08 test.cpp
-rw-r--r-- 1 root root   2200 Oct  5 23:08 test.f
-rw-r--r-- 1 root root   2018 Oct  5 23:08 test.f90
-rw-r--r-- 1 root root   1968 Oct  5 23:08 test.java
root@d926989812e1:/opt/intel/oneapi/mpi/2021.11/opt/mpi/test# mpirun -np 4 ./test
 Hello world: rank            0  of            4  running on
 d926989812e1

 Hello world: rank            1  of            4  running on
 d926989812e1

 Hello world: rank            2  of            4  running on
 d926989812e1

 Hello world: rank            3  of            4  running on
 d926989812e1
LemingVan commented 8 months ago

Hi @gorozco1, thanks for the reminder, I followed your script and it's already working, thanks a lot!

LemingVan commented 8 months ago

@gorozco1, may I ask you one more question? I can't find the icc command in the intel/hpckit, I want to use a ocean model in the docker, which needs both the icc and ifort compiler work in the mpiicc and mpiifort form.