* [patch, coarray_native, committed] Increase initial size on Darwin
@ 2021-01-17 19:13 Thomas Koenig
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Koenig @ 2021-01-17 19:13 UTC (permalink / raw)
To: fortran, gcc-patches
[-- Attachment #1: Type: text/plain, Size: 801 bytes --]
Hello world,
the patch (committed after Nicolas' OK) should make it possible
to go one step further in testing with Darwin.
So, it might now be possible to do another round of testing,
to see if there are any other walls to hit :-)
Best regards
Thomas
Use an initial shared memory size of 256 GB on Apple.
This implements an idea that Nicolas had to overcome the Darwin
problem that it is not possible to extend a shared memory segment
on that system.
The remedy is simple: Use a memory segment that is larger than
what can reasonably be used. This should only waste a few page
table entries, while providing the functionality, at least for
further testing.
libgfortran/ChangeLog:
* caf_shared/shared_memory.c (shared_memory_init): On Apple,
use an initial size of 256 GB.
[-- Attachment #2: p.txt --]
[-- Type: text/plain, Size: 743 bytes --]
diff --git a/libgfortran/caf_shared/shared_memory.c b/libgfortran/caf_shared/shared_memory.c
index b64e40a3ded..0c0b36c663d 100644
--- a/libgfortran/caf_shared/shared_memory.c
+++ b/libgfortran/caf_shared/shared_memory.c
@@ -190,7 +190,16 @@ shared_memory_init (shared_memory_act **pmem)
{
shared_memory_act *mem;
int fd;
+
+ /* Darwin does not appear to be able to grow shared memory segments. Choose
+ 256 GB; that will likely be enough. If not, the ftruncate will fail
+ noisily. */
+
+#ifdef __APPLE__
+ size_t initial_size = ((size_t) 1) << 38;
+#else
size_t initial_size = round_to_pagesize (sizeof (global_shared_memory_meta));
+#endif
mem = malloc (get_shared_memory_act_size (1));
fd = get_shmem_fd ();
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch, coarray_native, committed] Increase initial size on Darwin
2021-01-18 17:36 ` Thomas Koenig
@ 2021-01-19 9:38 ` dhumieres.dominique
0 siblings, 0 replies; 4+ messages in thread
From: dhumieres.dominique @ 2021-01-19 9:38 UTC (permalink / raw)
To: Thomas Koenig; +Cc: fortran
Le 2021-01-18 18:36, Thomas Koenig a écrit :
>
> Regarding the rest of the test cases, there is still a lot
> of work to do.
Indeed! Are some failures Darwin specific? Especially the tests
which are timed out.
Cheers,
Dominique
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch, coarray_native, committed] Increase initial size on Darwin
2021-01-18 17:32 dhumieres.dominique
@ 2021-01-18 17:36 ` Thomas Koenig
2021-01-19 9:38 ` dhumieres.dominique
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Koenig @ 2021-01-18 17:36 UTC (permalink / raw)
To: dhumieres.dominique; +Cc: fortran
Hi Dominique,
> I have tested cas.exp with the following results
>
> Running /opt/gcc/coarray/gcc/testsuite/gfortran.dg/caf-shared/cas.exp ...
>
>
> === gfortran Summary ===
>
> # of expected passes 94
> # of unsupported tests 2
Excellent!
That means that Darwin now works equally well to Linux.
Thanks for testing!
Regarding the rest of the test cases, there is still a lot
of work to do.
Best regards
Thomas
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch, coarray_native, committed] Increase initial size on Darwin
@ 2021-01-18 17:32 dhumieres.dominique
2021-01-18 17:36 ` Thomas Koenig
0 siblings, 1 reply; 4+ messages in thread
From: dhumieres.dominique @ 2021-01-18 17:32 UTC (permalink / raw)
To: tkoenig; +Cc: fortran
Hi Thomas,
I have tested cas.exp with the following results
Running /opt/gcc/coarray/gcc/testsuite/gfortran.dg/caf-shared/cas.exp
...
=== gfortran Summary ===
# of expected passes 94
# of unsupported tests 2
/opt/gcc/build_co/gcc/gfortran version 11.0.0 20201231 (experimental)
[coarray revision r11-6427-ge76a53644c9d] (GCC)
I have also added
foreach flags $option_list {
verbose "Testing $nshort (libcaf_shared), $flags" 1
set gfortran_aux_module_flags "-fcoarray=lib $flags
-lcaf_single"
dg-test $test "-fcoarray=shared $flags -lcaf_shared
$maybe_atomic_lib" ""
cleanup-modules ""
}
to caf.exp, with the following results:
Running /opt/gcc/coarray/gcc/testsuite/gfortran.dg/coarray/caf.exp ...
FAIL: gfortran.dg/coarray/alloc_comp_2.f90 -fcoarray=shared -O2
-lcaf_shared -latomic (internal compiler error)
FAIL: gfortran.dg/coarray/alloc_comp_2.f90 -fcoarray=shared -O2
-lcaf_shared -latomic (test for excess errors)
FAIL: gfortran.dg/coarray/alloc_comp_4.f90 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/alloc_comp_5.f90 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/allocate_errgmsg.f90 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/atomic_2.f90 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/codimension.f90 -fcoarray=shared -O2
-lcaf_shared -latomic (internal compiler error)
FAIL: gfortran.dg/coarray/codimension.f90 -fcoarray=shared -O2
-lcaf_shared -latomic (test for excess errors)
FAIL: gfortran.dg/coarray/codimension_3.f90 -fcoarray=shared -O2
-lcaf_shared -latomic (internal compiler error)
FAIL: gfortran.dg/coarray/codimension_3.f90 -fcoarray=shared -O2
-lcaf_shared -latomic (test for excess errors)
FAIL: gfortran.dg/coarray/coindexed_1.f90 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
WARNING: program timed out.
FAIL: gfortran.dg/coarray/collectives_3.f90 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/event_1.f90 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/event_2.f90 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/event_3.f08 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/event_4.f08 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/failed_images_2.f08 -fcoarray=shared -O2
-lcaf_shared -latomic (test for excess errors)
FAIL: gfortran.dg/coarray/get_to_indexed_array_1.f90 -fcoarray=shared
-O2 -lcaf_shared -latomic (internal compiler error)
FAIL: gfortran.dg/coarray/get_to_indexed_array_1.f90 -fcoarray=shared
-O2 -lcaf_shared -latomic (test for excess errors)
FAIL: gfortran.dg/coarray/get_to_indirect_array.f90 -fcoarray=shared
-O2 -lcaf_shared -latomic (internal compiler error)
FAIL: gfortran.dg/coarray/get_to_indirect_array.f90 -fcoarray=shared
-O2 -lcaf_shared -latomic (test for excess errors)
FAIL: gfortran.dg/coarray/image_status_2.f08 -fcoarray=shared -O2
-lcaf_shared -latomic (internal compiler error)
FAIL: gfortran.dg/coarray/image_status_2.f08 -fcoarray=shared -O2
-lcaf_shared -latomic (test for excess errors)
FAIL: gfortran.dg/coarray/lib_realloc_1.f90 -fcoarray=shared -O2
-lcaf_shared -latomic (internal compiler error)
FAIL: gfortran.dg/coarray/lib_realloc_1.f90 -fcoarray=shared -O2
-lcaf_shared -latomic (test for excess errors)
WARNING: program timed out.
FAIL: gfortran.dg/coarray/lock_1.f90 -fcoarray=shared -O2 -lcaf_shared
-latomic execution test
WARNING: program timed out.
FAIL: gfortran.dg/coarray/lock_2.f90 -fcoarray=shared -O2 -lcaf_shared
-latomic execution test
FAIL: gfortran.dg/coarray/move_alloc_1.f90 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
WARNING: program timed out.
FAIL: gfortran.dg/coarray/poly_run_1.f90 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
WARNING: program timed out.
FAIL: gfortran.dg/coarray/poly_run_2.f90 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
WARNING: program timed out.
FAIL: gfortran.dg/coarray/poly_run_3.f90 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/pr93671.f90 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/ptr_comp_1.f08 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/ptr_comp_2.f08 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/ptr_comp_3.f08 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/ptr_comp_4.f08 -fcoarray=shared -O2
-lcaf_shared -latomic execution test
FAIL: gfortran.dg/coarray/registering_1.f90 -fcoarray=shared -O2
-lcaf_shared -latomic (internal compiler error)
FAIL: gfortran.dg/coarray/registering_1.f90 -fcoarray=shared -O2
-lcaf_shared -latomic (test for excess errors)
FAIL: gfortran.dg/coarray/stopped_images_2.f08 -fcoarray=shared -O2
-lcaf_shared -latomic (test for excess errors)
FAIL: gfortran.dg/coarray/sync_1.f90 -fcoarray=shared -O2 -lcaf_shared
-latomic execution test
FAIL: gfortran.dg/coarray/sync_3.f90 -fcoarray=shared -O2 -lcaf_shared
-latomic (internal compiler error)
FAIL: gfortran.dg/coarray/sync_3.f90 -fcoarray=shared -O2 -lcaf_shared
-latomic (test for excess errors)
=== gfortran Summary ===
# of expected passes 355
# of unexpected failures 42
# of unresolved testcases 10
# of unsupported tests 6
/opt/gcc/build_co/gcc/gfortran version 11.0.0 20201231 (experimental)
[coarray revision r11-6427-ge76a53644c9d] (GCC)
Thanks for the work,
Dominique
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-01-19 9:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-17 19:13 [patch, coarray_native, committed] Increase initial size on Darwin Thomas Koenig
2021-01-18 17:32 dhumieres.dominique
2021-01-18 17:36 ` Thomas Koenig
2021-01-19 9:38 ` dhumieres.dominique
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).