Hi,

Some raspberry distro provides a compiler that generate ARMv6 binaries (so they 
can run on any generation of raspberry pi)

If possible I consider you use an ARMv8 distro (aka aarch64)
(fwiw, I successfully used CentOS 7 and OpenSuSE Leap on my raspberry3 and Open 
MPI was built out of the box)

Cheers,

Gilles

peng jia <jiape123...@gmail.com> wrote:
>hello!
>
>i would like to run some mpi-java code on my raspberrypi, i install openmpi 
>directly with command "apt-get install openmpi-bin openmpi-doc libopenmpi-dev" 
> 
>
>i would like to know, can i run java-mpi program with my pi without 
>configuration myself? i see java bindings is on perhaps?
>
>pi@raspberrypi002:~ $ ompi_info
>                 Package: Open MPI buildd@bm-wb-02 Distribution
>                Open MPI: 2.0.2
>  Open MPI repo revision: v2.0.1-348-ge291d0e
>   Open MPI release date: Jan 31, 2017
>                Open RTE: 2.0.2
>  Open RTE repo revision: v2.0.1-348-ge291d0e
>   Open RTE release date: Jan 31, 2017
>                    OPAL: 2.0.2
>      OPAL repo revision: v2.0.1-348-ge291d0e
>       OPAL release date: Jan 31, 2017
>                 MPI API: 3.1.0
>            Ident string: 2.0.2
>                  Prefix: /usr
> Configured architecture: arm-unknown-linux-gnueabihf
>          Configure host: bm-wb-02
>           Configured by: buildd
>           Configured on: Thu Feb 23 17:01:08 UTC 2017
>          Configure host: bm-wb-02
>                Built by: buildd
>                Built on: Thu Feb 23 18:03:57 UTC 2017
>              Built host: bm-wb-02
>              C bindings: yes
>            C++ bindings: yes
>             Fort mpif.h: yes (all)
>            Fort use mpi: yes (full: ignore TKR)
>       Fort use mpi size: deprecated-ompi-info-value
>        Fort use mpi_f08: yes
> Fort mpi_f08 compliance: The mpi_f08 module is available, but due to
>                          limitations in the gfortran compiler, does not
>                          support the following: array subsections, direct
>                          passthru (where possible) to underlying Open MPI's
>                          C functionality
>  Fort mpi_f08 subarrays: no
>           Java bindings: yes
>  Wrapper compiler rpath: disabled
>              C compiler: gcc
>     C compiler absolute: /usr/bin/gcc
>  C compiler family name: GNU
>      C compiler version: 6.3.0
>            C++ compiler: g++
>   C++ compiler absolute: /usr/bin/g++
>           Fort compiler: gfortran
>       Fort compiler abs: /usr/bin/gfortran
>         Fort ignore TKR: yes (!GCC$ ATTRIBUTES NO_ARG_CHECK ::)
>   Fort 08 assumed shape: yes
>      Fort optional args: yes
>          Fort INTERFACE: yes
>    Fort ISO_FORTRAN_ENV: yes
>       Fort STORAGE_SIZE: yes
>      Fort BIND(C) (all): yes
>      Fort ISO_C_BINDING: yes
> Fort SUBROUTINE BIND(C): yes
>       Fort TYPE,BIND(C): yes
> Fort T,BIND(C,name="a"): yes
>            Fort PRIVATE: yes
>          Fort PROTECTED: yes
>           Fort ABSTRACT: yes
>       Fort ASYNCHRONOUS: yes
>          Fort PROCEDURE: yes
>         Fort USE...ONLY: yes
>           Fort C_FUNLOC: yes
> Fort f08 using wrappers: yes
>         Fort MPI_SIZEOF: yes
>             C profiling: yes
>           C++ profiling: yes
>   Fort mpif.h profiling: yes
>  Fort use mpi profiling: yes
>   Fort use mpi_f08 prof: yes
>          C++ exceptions: no
>          Thread support: posix (MPI_THREAD_MULTIPLE: yes, OPAL support: yes,
>                          OMPI progress: no, ORTE progress: yes, Event lib:
>                          yes)
>           Sparse Groups: no
>  Internal debug support: no
>  MPI interface warnings: yes
>     MPI parameter check: runtime
>Memory profiling support: no
>Memory debugging support: no
>              dl support: yes
>   Heterogeneous support: yes
> mpirun default --prefix: no
>         MPI I/O support: yes
>       MPI_WTIME support: gettimeofday
>     Symbol vis. support: yes
>   Host topology support: yes
>
>
>and i dont know how, so i just download (openmpi-3.0.0.tar.gz) and configurate 
>it with "./configure --enable-mpi-java 
>--with-jdk-bindir=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/bin 
>--with-jdk-headers=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include 
>--prefix=/home/pi/build/"
>
>============================================================================
>== Configuring Open MPI
>============================================================================
>
>*** Startup tests
>checking build system type... armv7l-unknown-linux-gnueabihf
>checking host system type... armv7l-unknown-linux-gnueabihf
>checking target system type... armv7l-unknown-linux-gnueabihf
>checking for gcc... gcc
>checking whether the C compiler works... yes
>checking for C compiler default output file name... a.out
>checking for suffix of executables... 
>checking whether we are cross compiling... no
>checking for suffix of object files... o
>checking whether we are using the GNU C compiler... yes
>checking whether gcc accepts -g... yes
>checking for gcc option to accept ISO C89... none needed
>checking whether gcc understands -c and -o together... yes
>checking how to run the C preprocessor... gcc -E
>checking for grep that handles long lines and -e... /bin/grep
>
>.........
>
>
>
>
>but it failed when i use "sudo make"
>
>pi@raspberrypi002:~/openmpi-3.0.0 $ make all
>Making all in config
>make[1]: Entering directory '/home/pi/openmpi-3.0.0/config'
>make[1]: Nothing to be done for 'all'.
>make[1]: Leaving directory '/home/pi/openmpi-3.0.0/config'
>Making all in contrib
>make[1]: Entering directory '/home/pi/openmpi-3.0.0/contrib'
>make[1]: Nothing to be done for 'all'.
>make[1]: Leaving directory '/home/pi/openmpi-3.0.0/contrib'
>Making all in opal
>make[1]: Entering directory '/home/pi/openmpi-3.0.0/opal'
>Making all in include
>make[2]: Entering directory '/home/pi/openmpi-3.0.0/opal/include'
>make  all-am
>make[3]: Entering directory '/home/pi/openmpi-3.0.0/opal/include'
>make[3]: Leaving directory '/home/pi/openmpi-3.0.0/opal/include'
>make[2]: Leaving directory '/home/pi/openmpi-3.0.0/opal/include'
>Making all in asm
>make[2]: Entering directory '/home/pi/openmpi-3.0.0/opal/asm'
>  CC       asm.lo
>rm -f atomic-asm.S
>ln -s "../../opal/asm/generated/atomic-local.s" atomic-asm.S
>  CPPAS    atomic-asm.lo
>atomic-asm.S: Assembler messages:
>atomic-asm.S:7: Error: selected processor does not support `dmb' in ARM mode
>atomic-asm.S:15: Error: selected processor does not support `dmb' in ARM mode
>atomic-asm.S:23: Error: selected processor does not support `dmb' in ARM mode
>atomic-asm.S:55: Error: selected processor does not support `dmb' in ARM mode
>atomic-asm.S:70: Error: selected processor does not support `dmb' in ARM mode
>atomic-asm.S:86: Error: selected processor does not support `ldrexd 
>r4,r5,[r0]' in ARM mode
>atomic-asm.S:91: Error: selected processor does not support `strexd 
>r1,r6,r7,[r0]' in ARM mode
>atomic-asm.S:107: Error: selected processor does not support `ldrexd 
>r4,r5,[r0]' in ARM mode
>atomic-asm.S:112: Error: selected processor does not support `strexd 
>r1,r6,r7,[r0]' in ARM mode
>atomic-asm.S:115: Error: selected processor does not support `dmb' in ARM mode
>atomic-asm.S:130: Error: selected processor does not support `ldrexd 
>r4,r5,[r0]' in ARM mode
>atomic-asm.S:135: Error: selected processor does not support `dmb' in ARM mode
>atomic-asm.S:136: Error: selected processor does not support `strexd 
>r1,r6,r7,[r0]' in ARM mode
>Makefile:1821: recipe for target 'atomic-asm.lo' failed
>make[2]: *** [atomic-asm.lo] Error 1
>make[2]: Leaving directory '/home/pi/openmpi-3.0.0/opal/asm'
>Makefile:2363: recipe for target 'all-recursive' failed
>make[1]: *** [all-recursive] Error 1
>make[1]: Leaving directory '/home/pi/openmpi-3.0.0/opal'
>Makefile:1884: recipe for target 'all-recursive' failed
>make: *** [all-recursive] Error 1
>
>i 've also tried "./configure CCASFLAGS=-march=native" or "./configure 
>CCASFLAGS=-march=armv7l"  or "CC=gcc-4.9 CXX=g++-4.9 FC=gfortran-4.9 
>./configure --prefix=... --enable-mpirun-prefix-by-default" 
>
>and after all these configuration, it still failed to build.
>
>i' seen post here  
>http://users.open-mpi.narkive.com/ucEtL9aU/ompi-users-building-openmpi-on-raspberry-pi-2
>
>and here    
>https://developer.arm.com/products/software-development-tools/hpc/resources/porting-and-tuning/building-openmpi-with-arm-compiler
>
>but still i dont know how, how can i install openmpi on my raspberrypi 3 and 
>run mpi-java program? I m 99.99% green hand, help me please. I would be very 
>greatful if you have any advices for me.
>
>
>Best Regards
>
>Jia Peng
>
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Reply via email to