Hello all! New user here...

44 views
Skip to first unread message

Frank Meyer

unread,
Dec 3, 2021, 7:56:01 PM12/3/21
to OpenCoarrays
Hello all!

New users here and I'm trying to explore this as an exercise to learn more about different types of multitasking. So far I've been learning Fortran and have built a number of silly projects including a merge sort with pointers only. I was planning to move the code to arrays, but then noticed that coarrarys would allow for multitasking at the same time! Towards the end of the sort, it would become to deterministic for more than one thread (when you are down to only two lists to merge), but at the start there are options for array configuration and multiple merging lists that could be quite a startup savings if they were sent to more than one image. The only problem is that on my Mac and my pc I get issues with caf. On the Mac I get;

Tech073s-iMac:fortran tech073$ caf hello.f90

ld: file not found: /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation for architecture x86_64

collect2: error: ld returned 1 exit status

Error: comand:

   `/usr/local/bin/gfortran -I/usr/local/Cellar/opencoarrays/2.9.2_1/include/OpenCoarrays-2.9.2_GNU-11.2.0 -fcoarray=lib -Wl,-flat_namespace -Wl,-commons,use_dylibs -L/usr/local/Cellar/libevent/2.1.12/lib -L/usr/local/Cellar/open-mpi/4.1.1_2/lib hello.f90 /usr/local/Cellar/opencoarrays/2.9.2_1/lib/libcaf_mpi.a /usr/local/lib/libmpi_usempif08.dylib /usr/local/lib/libmpi_usempi_ignore_tkr.dylib /usr/local/lib/libmpi_mpifh.dylib /usr/local/lib/libmpi.dylib`

failed to compile.

It appears that home brew installed correctly, Gfortran works great! But caf does not. Any Ideas?

Frank Meyer

qyb...@gmail.com

Computer Department Technician

London Drugs store #73, Campbell River, BC, Canada

A+, Network+, and Apple Certified Technician

Damian Rouson

unread,
Dec 3, 2021, 8:56:27 PM12/3/21
to qyb...@gmail.com, OpenCoarrays
I started experiencing this problem after upgrading to macOS Monterey recently.  I believe the problem relates to a decision that Apple made several years ago to stop putting certain standard header files in the location that GCC expects.    I found the solution when I started to submit this as an issue on the Homebrew repository, whereupon the issue template required the output of "brew doctor," which provided the remedy:

softwareupdate --all --install --force

sudo rm -rf /Library/Developer/CommandLineTools

sudo xcode-select --install


I hope this helps.


Damian



--
You received this message because you are subscribed to the Google Groups "OpenCoarrays" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opencoarrays...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/opencoarrays/08bdfda8-b3d1-4523-8ed7-8130407251e9n%40googlegroups.com.

Frank Meyer

unread,
Dec 4, 2021, 12:46:31 PM12/4/21
to Damian Rouson, OpenCoarrays
Thanks, I'll check it out!

Have a great weekend!

Frank
--
Frank Meyer
A+ and Network+ Certified Technician

Frank Meyer

unread,
Dec 4, 2021, 2:30:49 PM12/4/21
to OpenCoarrays
Hello all!

That works! Thank you!

Another issue has appeared, but mostly because I'm forcing this issue to appear. The iMac I'm using shows only 2 available images to run which would make sense; it is a dual-core i5, but when I --oversubscribe to -n 50 I get a bunch of errors. Is that normal? It seems to run just fine, but then throw this error text after running.

A system call failed during shared memory initialization that should

not have.  It is likely that your MPI job will now either abort or

experience performance degradation.


  Local host:  Tech073s-iMac.local

  System call: unlink(2) /var/folders/wz/73yp7fnd2x7cr1xv_x0twvv80000gn/T//ompi.Tech073s-iMac.501/pid.39730/1/vader_segment.Tech073s-iMac.501.853e0001.17

  Error:       No such file or directory (errno 2)

This looks like lots of fun! I'm sure this will feed my curiosity and keep me learning for a little while at least.

Thanks everyone!

Frank

Damian Rouson

unread,
Dec 4, 2021, 5:38:48 PM12/4/21
to Frank Meyer, OpenCoarrays
That’s normal with OpenMPI, which is Homebrew’s default choice.  It’s possible to configure OpenMPI to all for oversubscribing the cores, but that probably requires building OpenMPI from source.   I think the better alternative is to use the OpenCoarrays installer to install MPICH and then use MPICH to build OpenCoarrays.  Let me know if you want instructions for doing that. 

Damian






Frank Meyer

unread,
Dec 4, 2021, 6:21:18 PM12/4/21
to OpenCoarrays
Hello again!

Seems that uninstalling open-MPI and installing MPICH isn't the right steps... Perhaps a walk through would be a good idea.

Thanks!

Frank

Damian Rouson

unread,
Dec 6, 2021, 1:18:32 PM12/6/21
to Frank Meyer, OpenCoarrays
Please try the following:

brew uninstall opencoarrays open-mpi
bew install mpich
cd opencoarrays
git checkout ef8069d94ecd3a0d93e0d4413a63c2366b894130
./install.sh 

If this succeeds, the final lines of output will contain a "source" command that you can use to put "caf" and "cafrun" in your PATH.  The above "git checkout" command is required because of a bug that somehow made it onto the main branch.  I hope the bug can be fixed soon.

Damian 

Damian Rouson

unread,
Dec 6, 2021, 1:19:30 PM12/6/21
to Frank Meyer, OpenCoarrays
P.S. If the aforementioned commands don't work, please submit an issue on the OpenCoarrays repository.

Jorge D'Elia

unread,
Jun 8, 2022, 8:39:19 AM6/8/22
to Damian Rouson, OpenCoarrays
Hi Damian,

Today I did a fresh install of OpenCoarrays on one server,
and with:

openmpi release 4.1.3 (Mar 31, 2022)
mvapich2 release 2.3.7 (Mar 02, 2022)

everything is fine as usual, but with

mpich release 4.0.2 (Apr 07, 2022)

an error arises, that I copy below and attach the associated
log file. Please, any suggestions to overcome it?

Thanks in advance.

Regards,
Jorge.

_/_/
OpenCoarrays
""""""""""""
Build Type: Release
Version: 2.10.0-11-gdfde1b9

-- ------------------------------------------------------------------------------ --
-- Build from git repository detected
-- Running with CMake from: /usr/bin/cmake
-- Current source dir (for OpenCoarrays): /datos/bigpack/opencoarrays-paq/d20220608
-- The C compiler identification is GNU 13.0.0
-- The Fortran compiler identification is GNU 13.0.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/beta/gcc-trunk/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /usr/beta/gcc-trunk/bin/gfortran - skipped
-- Building OpenCoarrays version: 2.10.0-11-gdfde1b9
-- Building for target architecture: x86_64
-- Performing Test Check_Simple_Coarray_Fortran_Source_Compiles
-- Performing Test Check_Simple_Coarray_Fortran_Source_Compiles - Success
-- Found MPI_C: /usr/beta/mpich/lib/libmpi.so (found version "4.0")
-- Found MPI_Fortran: /usr/beta/mpich/lib/libmpifort.so (found version "4.0")
-- Found MPI: TRUE (found version "4.0")
-- MPI runtime and compile time environments appear to be consistent
-- Performing Test MPI_C_COMPILES
-- Performing Test MPI_C_COMPILES - Failed
CMake Error at CMakeLists.txt:439 (message):
MPI_C is missing! Try setting MPI_C_COMPILER to the appropriate C compiler
wrapper script and reconfigure. i.e., `cmake
-DMPI_C_COMPILER=/path/to/mpicc ..` or set it by editing the cache using
cmake-gui or ccmake.

-- Configuring incomplete, errors occurred!
See also "D20220608/BUILD-MPICH/CMakeFiles/CMakeOutput.log".
See also "D20220608/BUILD-MPICH/CMakeFiles/CMakeError.log".

# end

CMakeError.log

Damian Rouson

unread,
Jun 8, 2022, 10:03:19 AM6/8/22
to Jorge D'Elia, OpenCoarrays
Please submit an issue on the OpenCoarrays repository.  My first suggestion is to try an earlier version of MPICH.  OpenCoarrays was written primarily with MPICH 3.2.  

Damian

--
You received this message because you are subscribed to the Google Groups "OpenCoarrays" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opencoarrays...@googlegroups.com.

Jorge D'Elia

unread,
Jul 28, 2022, 3:39:54 PM7/28/22
to OpenCoarrays, Damian Rouson
Dear OpenCoarrays developers,

Following the suggestions given in the INSTALL file
to build OpenCoarrays there is the line:

make test # optional; verify build works

In machines with 8 or more cores all tests are ok.
However, would it be possible to add the openmpi
--oversubscribe flag in the configure or build stages
for doing the same tests in machines with less than
8 cores? If yes, then, please, how to do?

Thanks in advance.

Regards.
Jorge.
--

Damian Rouson

unread,
Jul 28, 2022, 5:17:32 PM7/28/22
to Jorge D'Elia, OpenCoarrays
Good question.  I assume you’re building by invoking cmake.  If so, then presumably you’re building the prerequisites yourself.  Are you building the prerequisites from source?  If so, you would pass that flag when configuring OpenMPi.  Or are you building prerequisites via a package manager?   

Please submit this as an issue on the OpenCoarrays GitHub repository for further assistance.  The issue template will provide a more complete listing of the information that is required to respond to your issue. 

Damian

Jorge D'Elia

unread,
Jul 28, 2022, 7:47:47 PM7/28/22
to Damian Rouson, OpenCoarrays
----- Mensaje original -----
> De: "Damian Rouson" <dam...@rouson.net>
> Para: "Jorge D'Elia" <jde...@cimec.unl.edu.ar>
> CC: "OpenCoarrays" <openco...@googlegroups.com>
> Enviado: Jueves, 28 de Julio 2022 18:17:19
> Asunto: Re: OpenCoarrays with openmpi: how to add the oversubscribe flag in the make test phase ?
>
> Good question. I assume you’re building by invoking cmake.

Yes.

> If so, then presumably you’re building the prerequisites yourself.
> Are you building the prerequisites from source?

Yes for gcc and openmpi, the other prerequities are installed
from dnf --best install in a x86_64-pc-linux-gnu laptop with
Fedora 36.

> If so, you would pass that flag when configuring OpenMPi.

Ahhh ... good idea!

> Or are you building prerequisites via a package manager?

No.

> Please submit this as an issue on the OpenCoarrays GitHub repository for
> further assistance. The issue template will provide a more complete
> listing of the information that is required to respond to your issue.

Ok. I tried with (I don't know if it's the right place):

RFE: OpenCoarrays: add the oversubscribe openmpi flag in the make test phase #764

Thanks for your fast reply.

Regards.
Jorge.

> --
Reply all
Reply to author
Forward
0 new messages