-
-
Notifications
You must be signed in to change notification settings - Fork 57
Open
@jmag722
Description
- I am reporting a bug others will be able to reproduce and not asking a question or requesting a new feature.
System information including:
- OpenCoarrays Version: 2.10.1
- Fortran Compiler: gfortran gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)
- C compiler used for building lib: gcc version 11.3.0
- Installation method: Cmake from source using git clone (followed instructions from Modern Fortran by Milan Curic)
cd OpenCoarrays
mkdir build
cd build
FC=gfortran CC=gcc cmake ..
make
make install
- All flags & options passed to the installer: FC=gfortran, CC=gcc
- Output of
uname -a:Linux DESKTOP-OB8O7DS 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux - MPI library being used: Debian OpenMPI v.4.1.2
- Machine architecture and number of physical cores: x86_64, 4 physical cores, 2 threads/core
- Version of CMake: 3.22.1
To help us debug your issue please explain:
What you were trying to do (and why)
I'm trying to run cafrun in serial. The bug occurred for the tally test from https://github.com/sourceryinstitute/OpenCoarrays/blob/main/GETTING_STARTED.md. However, the same bug also occurred running the serial program ./weather_stats (my original goal), compiled from https://github.com/modern-fortran/weather-buoys.
What happened (include command output, screenshots, logs, etc.)
cafrun -np 4 tally yielded Test passed as expected.
However, simply running ./tally or cafrun -np 1 tally yields the following:
[DESKTOP-OB8O7DS:10249] *** An error occurred in MPI_Win_create [DESKTOP-OB8O7DS:10249] *** reported by process [304545793,0] [DESKTOP-OB8O7DS:10249] *** on communicator MPI COMMUNICATOR 3 DUP FROM 0 [DESKTOP-OB8O7DS:10249] *** MPI_ERR_WIN: invalid window [DESKTOP-OB8O7DS:10249] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort, [DESKTOP-OB8O7DS:10249] *** and potentially your MPI job)
Cloning the Modern Fortran weather-buoys repo and compiling weather_stats, the same thing occured: the program ran with 2 processors but not 1. When run with 1 processor, I get the above error.
What you expected to happen
I expected Test passed as before.
Step-by-step reproduction instructions to reproduce the error/bug
$ cat tally.f90 program main use iso_c_binding, only : c_int use iso_fortran_env, only : error_unit implicit none integer(c_int) :: tally tally = this_image() ! this image's contribution call co_sum(tally) verify: block integer(c_int) :: image if (tally/=sum([(image,image=1,num_images())])) then write(error_unit,'(a,i5)') "Incorrect tally on image ",this_image() error stop end if end block verify ! Wait for all images to pass the test sync all if (this_image()==1) print *,"Test passed" end program $ caf tally.f90 -o tally $ cafrun -np 1 ./tally
OR for the weather-buoy example
git clone https://github.com/modern-fortran/weather-buoys.git
cd weather-buoys
make weather_stats
./weather_stats
Metadata
Metadata
Assignees
Labels
No labels