I think you should work under the assumption of cross-compile, because the
target architecture for the OMPI compile should be x86 and not the local
architecture. It’s been a while I haven’t cross-compile, but I heard Gilles
is doing cross-compilation routinely, so he might be able to help.

  George.


On Fri, Apr 22, 2022 at 13:14 Jeff Squyres (jsquyres) via users <
users@lists.open-mpi.org> wrote:

> Can you send all the information listed under "For compile problems"
> (please compress!):
>
>     https://www.open-mpi.org/community/help/
>
> --
> Jeff Squyres
> jsquy...@cisco.com
>
> ________________________________________
> From: users <users-boun...@lists.open-mpi.org> on behalf of Cici Feng via
> users <users@lists.open-mpi.org>
> Sent: Friday, April 22, 2022 5:30 AM
> To: Open MPI Users
> Cc: Cici Feng
> Subject: Re: [OMPI users] help with M1 chip macOS openMPI installation
>
> Hi George,
>
> Thanks so much with the tips and I have installed Rosetta in order for my
> computer to run the Intel software. However, the same error appears as I
> tried to make the file for the OMPI and here's how it looks:
>
> ../../../../opal/threads/thread_usage.h(163): warning #266: function
> "opal_atomic_swap_ptr" declared implicitly
>
>   OPAL_THREAD_DEFINE_ATOMIC_SWAP(void *, intptr_t, ptr)
>
>   ^
>
>
> In file included from ../../../../opal/class/opal_object.h(126),
>
>                  from ../../../../opal/dss/dss_types.h(40),
>
>                  from ../../../../opal/dss/dss.h(32),
>
>                  from pmix3x_server_north.c(27):
>
> ../../../../opal/threads/thread_usage.h(163): warning #120: return value
> type does not match the function type
>
>   OPAL_THREAD_DEFINE_ATOMIC_SWAP(void *, intptr_t, ptr)
>
>   ^
>
>
> pmix3x_server_north.c(157): warning #266: function "opal_atomic_rmb"
> declared implicitly
>
>       OPAL_ACQUIRE_OBJECT(opalcaddy);
>
>       ^
>
>
>   CCLD     mca_pmix_pmix3x.la<http://mca_pmix_pmix3x.la>
>
> Making all in mca/pstat/test
>
>   CCLD     mca_pstat_test.la<http://mca_pstat_test.la>
>
> Making all in mca/rcache/grdma
>
>   CCLD     mca_rcache_grdma.la<http://mca_rcache_grdma.la>
>
> Making all in mca/reachable/weighted
>
>   CCLD     mca_reachable_weighted.la<http://mca_reachable_weighted.la>
>
> Making all in mca/shmem/mmap
>
>   CCLD     mca_shmem_mmap.la<http://mca_shmem_mmap.la>
>
> Making all in mca/shmem/posix
>
>   CCLD     mca_shmem_posix.la<http://mca_shmem_posix.la>
>
> Making all in mca/shmem/sysv
>
>   CCLD     mca_shmem_sysv.la<http://mca_shmem_sysv.la>
>
> Making all in tools/wrappers
>
>   CCLD     opal_wrapper
>
> Undefined symbols for architecture x86_64:
>
>   "_opal_atomic_add_fetch_32", referenced from:
>
>       import-atom in libopen-pal.dylib
>
>   "_opal_atomic_compare_exchange_strong_32", referenced from:
>
>       import-atom in libopen-pal.dylib
>
>   "_opal_atomic_compare_exchange_strong_ptr", referenced from:
>
>       import-atom in libopen-pal.dylib
>
>   "_opal_atomic_lock", referenced from:
>
>       import-atom in libopen-pal.dylib
>
>   "_opal_atomic_lock_init", referenced from:
>
>       import-atom in libopen-pal.dylib
>
>   "_opal_atomic_mb", referenced from:
>
>       import-atom in libopen-pal.dylib
>
>   "_opal_atomic_rmb", referenced from:
>
>       import-atom in libopen-pal.dylib
>
>   "_opal_atomic_sub_fetch_32", referenced from:
>
>       import-atom in libopen-pal.dylib
>
>   "_opal_atomic_swap_32", referenced from:
>
>       import-atom in libopen-pal.dylib
>
>   "_opal_atomic_swap_ptr", referenced from:
>
>       import-atom in libopen-pal.dylib
>
>   "_opal_atomic_unlock", referenced from:
>
>       import-atom in libopen-pal.dylib
>
>   "_opal_atomic_wmb", referenced from:
>
>       import-atom in libopen-pal.dylib
>
> ld: symbol(s) not found for architecture x86_64
>
> make[2]: *** [opal_wrapper] Error 1
>
> make[1]: *** [all-recursive] Error 1
>
> make: *** [all-recursive] Error 1
>
>
> I am not sure if the ld part affects the making process or not. Either
> way, error 1 appears as the "opal_wrapper" which I think has been the error
> I kept encoutering.
>
> Is there any explanation to this specific error?
>
> ps. the configure command I used is as followed, provided by the official
> website of MARE2DEM
>
> sudo  ./configure --prefix=/opt/openmpi CC=icc CXX=icc F77=ifort FC=ifort \
> lt_prog_compiler_wl_FC='-Wl,';
> make all install
>
> Thanks again,
> Cici
>
> On Thu, Apr 21, 2022 at 11:18 PM George Bosilca via users <
> users@lists.open-mpi.org<mailto:users@lists.open-mpi.org>> wrote:
> 1. I am not aware of any outstanding OMPI issues with the M1 chip that
> would prevent OMPI from compiling and running efficiently in an M1-based
> setup, assuming the compilation chain is working properly.
>
> 2. M1 supports x86 code via Rosetta, an app provided by Apple to ensure a
> smooth transition from the Intel-based to the M1-based laptop's line. I do
> recall running an OMPI compiled on my Intel laptop on my M1 laptop to test
> the performance of the Rosetta binary translator. We even had some
> discussions about this, on the mailing list (or github issues).
>
> 3. Based on your original message, and their webpage, MARE2DEM is not
> supporting any other compilation chain than Intel. As explained above, that
> might not be by itself a showstopper, because you can run x86 code on the
> M1 chip, using Rosetta. However, MARE2DEM relies on MKL, the Intel Math
> Library, and that library will not run on a M1 chip.
>
>   George.
>
>
> On Thu, Apr 21, 2022 at 7:02 AM Jeff Squyres (jsquyres) via users <
> users@lists.open-mpi.org<mailto:users@lists.open-mpi.org>> wrote:
> A little more color on Gilles' answer: I believe that we had some Open MPI
> community members work on adding M1 support to Open MPI, but Gilles is
> absolutely correct: the underlying compiler has to support the M1, or you
> won't get anywhere.
>
> --
> Jeff Squyres
> jsquy...@cisco.com<mailto:jsquy...@cisco.com>
>
> ________________________________________
> From: users <users-boun...@lists.open-mpi.org<mailto:
> users-boun...@lists.open-mpi.org>> on behalf of Cici Feng via users <
> users@lists.open-mpi.org<mailto:users@lists.open-mpi.org>>
> Sent: Thursday, April 21, 2022 6:11 AM
> To: Open MPI Users
> Cc: Cici Feng
> Subject: Re: [OMPI users] help with M1 chip macOS openMPI installation
>
> Gilles,
>
> Thank you so much for the quick response!
> openMPI installed by brew is compiled on gcc and gfortran using the
> original compilers by Apple. Now I haven't figured out how to use this gcc
> openMPI for the inversion software :(
> Given by your answer, I think I'll pause for now with the M1-intel
> compilers-openMPI route and switch to an intel cluster until someone
> figured out the M1 chip problem ~
>
> Thanks again for your help!
> Cici
>
> On Thu, Apr 21, 2022 at 5:59 PM Gilles Gouaillardet via users <
> users@lists.open-mpi.org<mailto:users@lists.open-mpi.org><mailto:
> users@lists.open-mpi.org<mailto:users@lists.open-mpi.org>>> wrote:
> Cici,
>
> I do not think the Intel C compiler is able to generate native code for
> the M1 (aarch64).
> The best case scenario is it would generate code for x86_64 and then
> Rosetta would be used to translate it to aarch64 code,
> and this is a very downgraded solution.
>
> So if you really want to stick to the Intel compiler, I strongly encourage
> you to run on Intel/AMD processors.
> Otherwise, use a native compiler for aarch64, and in this case, brew is
> not a bad option.
>
>
> Cheers,
>
> Gilles
>
> On Thu, Apr 21, 2022 at 6:36 PM Cici Feng via users <
> users@lists.open-mpi.org<mailto:users@lists.open-mpi.org><mailto:
> users@lists.open-mpi.org<mailto:users@lists.open-mpi.org>>> wrote:
> Hi there,
>
> I am trying to install an electromagnetic inversion software (MARE2DEM) of
> which the intel C compilers and open-MPI are considered as the
> prerequisite. However, since I am completely new to computer science and
> coding, together with some of the technical issues of the computer I am
> building all this on, I have encountered some questions with the whole
> process.
>
> The computer I am working on is a macbook pro with a M1 Max chip. Despite
> how my friends have discouraged me to keep working on my M1 laptop, I still
> want to reach out to the developers since I feel like you guys might have a
> solution.
>
> By downloading the source code of openMPI on the .org website and "sudo
> configure and make all install", I was not able to install the openMPI onto
> my computer. The error provided mentioned something about the chip is not
> supported or somewhat.
>
> I have also tried to install openMPI through homebrew using the command
> "brew install openmpi" and it worked just fine. However, since Homebrew has
> automatically set up the configuration of openMPI (it uses gcc and
> gfortran), I was not able to use my intel compilers to build openMPI which
> causes further problems in the installation of my inversion software.
>
> In conclusion, I think right now the M1 chip is the biggest problem of the
> whole installation process yet I think you guys might have some solution
> for the installation. I would assume that Apple is switching all of its
> chip to M1 which makes the shifts and changes inevitable.
>
> I would really like to hear from you with the solution of installing
> openMPI on a M1-chip macbook and I would like to thank for your time to
> read my prolong email.
>
> Thank you very much.
> Sincerely,
>
> Cici
>
>
>
>
>
>

Reply via email to