On 7/19/25 10:59 AM, Toon Moene wrote:
On 7/19/25 18:32, Jerry D wrote:

I expanded on Toon's random_weather.f90 test using:

!integer, parameter :: DNX = 72, DNY = 70, DNZ = 30, BDSIZE = 4, HORSTEP =
      10000, VERSTEP = 100, FCLEN = 3600, TIMSTEP = 240
integer, parameter :: DNX = 1000, DNY = 1500, DNZ = 100, BDSIZE = 4, HORSTEP =
      10000, VERSTEP = 100, FCLEN = 3600, TIMSTEP = 240

For the default problem size and using 20 images on my 8 core 16 "thread"
machine.

shmem:
$ export GFORTRAN_NUM_IMAGES=20
$ $FC -fcoarray=lib random-weather.f90 -lcaf_shmem
$ time ./a.out
...
real    1m12.935s
user    11m50.423s
sys    5m57.636s

mpich:
$ ../opencoarrays-clean/bin/caf random-weather.f90
$ time ../opencoarrays-clean/bin/cafrun -np 20 ./a.out
...
real    164m48.280s
user    2492m58.342s
sys    121m22.190s

I believe that the benefits of this outweigh any concerns and it is
quite useful for particular problem sets and can for people developing
and testing coarray applications before deploying to big iron
machines if needed.

These results are using the gfortran-test branch in the gcc git
repository.

I am ready to approve this. Can anyone second this.

This test branch is certainly useful for further testing. However, I should emphasize that my "mock weather forecasting code" is nice to confirm this kind of speed-up, it isn't a full test of the coarray implementation. It uses only a small subset of all coarray features, and it certainly isn't a good test of the possible ways to run into deadlocks ...

Note that Thomas Koenig has written about this before: https://gcc.gnu.org/ pipermail/fortran/2025-June/062361.html.

Kind regards,


Yes, this is why we need additional testers.

For those who need some guidance to the test branch:

$ git clone git://gcc.gnu.org/git/gcc.git

$ cd gcc
$ git checkout remotes/origin/devel/gfortran-test
$ git switch -c gfortran-test

Configure and build as usual is a separate directory not the source directory.

I am going to be out on travel for about a week. When I return, maybe I can do testing on other machines. If anyone is aware of open code that would be a good example of testing many features of coarray fortran, please advise.

Thanks Toon.

Regards,

Jerry

Reply via email to