Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Compiling OpenMPI 1.5.4 on Debian 6 qemu arm6l
From: Jeffrey Squyres (jsquyres_at_[hidden])
Date: 2012-02-28 07:29:46


Ron -- Many thanks!

Leif -- can you comment on this? (yes, I'm passing the buck to our ARM Open MPI representative :-) )

On Feb 26, 2012, at 1:22 PM, Ron Broberg wrote:

> I would like to report the following information regarding compiling OpenMPI on Debian ARMv6. I won't submit this as a patch because I don't believe that "delete all 'dmb' instructions" can be considered a well developed patch. But this information may be of use to someone down the line.
>
> I was able to compile the upstream openmpi-1.5.4 distribution on a Debian6 armv6l qemu emulation.
> http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.5.tar.bz2
>
>
> You have to make 3 changes to the package
> 1) Delete all references to the RISC instruction 'dmb'
> 2) Modify the 'configure' file to include an 'armv6' option
> 3) Compile with CFLAGS=-march=armv6
>
> ## 1) make the following edits to these three files
> ./opal/asm/generated/atomic-local.s
> delete all dmb instructions
> ./opal/asm/base/ARM.asm
> delete all dmb instructions
> ./opal/include/opal/sys/arm/atomic.h
> change the lines:
> #if OPAL_WANT_SMP_LOCKS
> #define MB() __asm__ __volatile__ ("dmb" : : : "memory")
> #define RMB() __asm__ __volatile__ ("dmb" : : : "memory")
> #define WMB() __asm__ __volatile__ ("dmb" : : : "memory")
> #else
> #define MB()
> #define RMB()
> #define WMB()
> #endif
>
> to read:
> #define MB()
> #define RMB()
> #define WMB()
>
> ## 2) add the following to the 'configure' file at line 26946 of 171183
> goto line 26946, there should be an 'alpha-' section above and an 'armv7' below
> insert the following
> armv6*)
> ompi_cv_asm_arch="ARM"
> OPAL_ASM_SUPPORT_64BIT=0
> OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)'
> ;;
>
> ## 3) compile and install with the following CFLAGS
> CFLAGS=-march=armv6
> ./configure CFLAGS=-march=armv6
> make
> sudo make install
>
> more information about my build at
> http://rhinohide.wordpress.com/2012/02/26/openmpi-on-raspberry-pi/
>
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/