Hi all,

this series of patches (six in total) adds a new coarray backend library to
libgfortran.  The library uses shared memory and processes to implement
running multiple images on the same node.  The work is based on work started by
Thomas and Nicolas Koenig. No changes to the gfortran compile part are required
for this.

Unfortunately I found some defects in the gfortran compiler, that needed to be
fixed. These are the first four tiny patches. The fifth patch then adds the
library and sixth patches the testcases in gcc/testsuite/gfortran.dg/coarray to
also run (and pass) when linked against caf_shmem.

The development has been done on x86_64-pc-linux-gnu / Fedora 41. I am curious
to learn which fixes will be needed for other platforms. 

This will be the last big patch that was funded by the STF/STA. My funding has
run out and I will only be available for a few days before a new project will
consume my attention. Therefore please bring any deficiencies to my attention
as soon as possible.

I have done some performance measurement against OpenCoarrays measuring
coarray_icarr from https://github.com/gutmann/coarray_icar . The figures are:

OpenCoarrays (mpich4-backend): 165.578s (real 2m59,947s)
--------------------------------------------------
caf_shmem (16-trunk): 61.489s (real 1m3,681s)

The first number is the "Model run time:" as reported by the program. In the
parentheses the real run time as reported by the bash command `time` is given.

Both are done using a debug build of coarray_icar on an Intel Core i7-5775C CPU
@ 3.30GHz having 24GB, and running Fedora Linux 41 with all recent patches.

Regards,
        Andre
-- 
Andre Vehreschild * Email: vehre ad gmx dot de 

Reply via email to