Your welcome and thank you @banana-bred
The problem has been completely resolved for me and the package compiles and installs correctly.
Git Clone URL: | https://aur.archlinux.org/opencoarrays.git (read-only, click to copy) |
---|---|
Package Base: | opencoarrays |
Description: | A transport layer for coarray Fortran compilers. |
Upstream URL: | https://github.com/sourceryinstitute/OpenCoarrays |
Keywords: | caf coarray fortran parallel |
Licenses: | BSD |
Conflicts: | opencoarrays-git, opencoarrays-mpich-git |
Submitter: | jamesclark |
Maintainer: | banana-bred |
Last Packager: | banana-bred |
Votes: | 10 |
Popularity: | 0.003004 |
First Submitted: | 2015-10-13 14:12 (UTC) |
Last Updated: | 2025-04-01 07:25 (UTC) |
Your welcome and thank you @banana-bred
The problem has been completely resolved for me and the package compiles and installs correctly.
@gurban Thanks for pointing this out. This should now use the 1 thread / image for testing, and oversubscribe tests even if there are not enough threads for a test. This was partially because I didn't communicate to cmake that we were using openmpi or the number of available threads..
For the opencoarrays 2.10.2-3 tests failed for me too (tests output log):
84% tests passed, 14 tests failed out of 86
Total Test time (real) = 88.88 sec
The following tests FAILED:
6 - allocate_as_barrier_proc (Failed)
15 - team_number (Failed)
23 - sync_team (Failed)
54 - syncimages_status (Failed)
56 - sync_ring_abort_np7 (Failed)
57 - simpleatomics (Failed)
58 - syncall (Failed)
59 - syncimages (Failed)
60 - syncimages2 (Failed)
61 - duplicate_syncimages (Failed)
66 - source-alloc-no-sync (Failed)
74 - issue-493-coindex-slice (Failed)
75 - issue-488-multi-dim-cobounds-true (Failed)
76 - issue-488-multi-dim-cobounds-false (Failed)
From the log file, it seems that all failed tests failed because of insufficient slots for mpiexec
.
I have a 6 cores/12 threads AMD Ryzen 5 PRO 4650G with Radeon Graphics. All tests need more than 6 slots failed for me.
This package now uses Open MPI instead of MPICH to avoid build issues. Should the MPICH build issues be resolved, I might make a separate opencoarrays-mpich package which uses MPICH.
To use OpenCoarrays :
$ caf <filename.f90>
$ cafrun -n <num_images> ./a.out
@hheinzer I'll update this and the -git version, which probably has the same issue. Thanks.
For me, building with mpich results in failed tests. If, however, I build against openmpi, all tests are successful. Furthermore, if I ignore the test and build against mpich anyway, compiled programs do not terminate cleanly (mpich related error messages are displayed). Would it be possible to make the buildpkg use openmpi instead of mpich? I also seems like openmpi is usually the default mpi dependency and that applications that use mpich have that indicated by a -mpich postfix (see for example hdf5).
opencoarrays-2.9.2 fails to build because of a dummy argument being renamed in GCC>=12; this was fixed in opencoarrays-2.9.3, see here: https://github.com/sourceryinstitute/OpenCoarrays/pull/746
I also had issues with failing tests, namely 7, 8, 9, 26, and 27. These failed after trying to free an invalid pointer and crashing. Looking through the test logs, there were other tests that incorrectly reported passing, because they managed to output "Test Passed" before trying to free an invalid pointer.
I finally managed to get the latest version (2.10.0) to build and pass all tests. The solution turned out to be rebuilding MPICH with CH3:nemesis as the communication device rather than the current default of CH4:UCX. I don't know if this is a bug in MPICH or opencoarrays, or just a simple incompatibility.
@backerman HAve you fixed the failed tests problem ? I am getting the failed test errors too in my case, The following tests FAILED: 7 - register_alloc_comp_1 (Failed) 8 - register_alloc_comp_2 (Failed) 9 - register_alloc_comp_3 (Failed) 26 - sendget_convert_nums (Failed) 27 - sendget_convert_char_array (Failed)
Pardon me, but I have to inform you that I also face the same problem on opencoarrays-2.9.2(test #26 & #27 failed). Other than that, thank you for the guidance about pgp keyserver.
Note: I use dual core processor. I run Manjaro under VMWare workstation. I change the cpu number from 1 to 4 but this didn't help either.
Tests #26 and #27 fail when trying to install the package (Version 2.9.2-1)
I'm getting the same problem, as per the LastTest.log below:
26/80 Testing: sendget_convert_nums
26/80 Test: sendget_convert_nums
Command: "/usr/bin/bash" "/var/tmp/pamac-build-avltbyzn/opencoarrays/src/OpenCoarrays-2.9.2/build/bin/cafrun" "-np" "3" "/var/tmp/pamac-build-avltbyzn/opencoarrays/src/OpenCoarrays-2.9.2/build/bin/OpenCoarrays-2.9.2-tests/sendget_convert_nums"
Directory: /var/tmp/pamac-build-avltbyzn/opencoarrays/src/OpenCoarrays-2.9.2/build
"sendget_convert_nums" start time: Oct 10 20:43 AEDT
Output:
----------------------------------------------------------
42
42
42
42
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
37.0419998
37.041999816894531
37.041999816894531
37.0419998
5.09999990 4.19999981 3.29999995 2.40000010 1.50000000
5.0999999046325684 4.1999998092651367 3.2999999523162842 2.4000000953674316 1.5000000000000000
5.0999999046325684 4.1999998092651367 3.2999999523162842 2.4000000953674316 1.5000000000000000
5.09999990 4.19999981 3.29999995 2.40000010 1.50000000
42
42
5 4 3 2 1
5 4 3 2 1
37.0419998
37.041999816894531
5.09999990 4.19999981 3.29999995 2.40000010 1.50000000
5.0999999046325684 4.1999998092651367 3.2999999523162842 2.4000000953674316 1.5000000000000000
-4
-4
64 50 77 90 -4
64 -4 0 -4 -4
14439332156801024.
0.00000000
14439327861833728. 4.5912142885138307E-041 -1651836160.0000000 4.5619271506094420E-041 5.6051938572992683E-045
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
sendget scalar int kind=1 to kind=4 to image 2 failed.
sendget scalar int kind=4 to kind=1 to image 2 failed.
sendget int kind=1 to kind=4 to image 2 failed.
sendget int kind=4 to kind=1 to image 2 failed.
sendget scalar real kind=4 to kind=8 to image 2 failed.
sendget scalar real kind=8 to kind=4 to image 2 failed.
sendget real kind=4 to kind=8 to image 2 failed.
sendget real kind=8 to kind=4 to image 2 failed.
0 0 0 0 0
-4 -4 -4 -4 -4
sendget int scal kind=4 to array kind=4 to image 2 failed.
sendget int scal kind=1 to array kind=1 to image 2 failed.
6.9525818608845118E-310 6.9525818608845118E-310 6.9525818608845118E-310 6.9525818608845118E-310 6.9525818608845118E-310
sendget real kind=8 to array kind=8 to image 2 failed.
7.00649232E-45 7.00649232E-45 7.00649232E-45 7.00649232E-45 7.00649232E-45
sendget real kind=4 to array kind=4 to image 2 failed.
64 64 64 64 64
64 64 64 64 64
14439327861833728. 14439327861833728. 14439327861833728. 14439327861833728. 14439327861833728.
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
sendget int scal kind=1 to array kind=4 to image 2 failed.
sendget int scal kind=4 to array kind=1 to image 2 failed.
sendget real kind=4 to array kind=8 to image 2 failed.
sendget real kind=8 to array kind=4 to image 2 failed.
sendget real scal kind=4 to int array kind=4 to image 2 failed.
sendget real scal kind=1 to int array kind=1 to image 2 failed.
0 0 0 0 0
0 0 0 0 0
1515008504.0000000 1515008504.0000000 1515008504.0000000 1515008504.0000000 1515008504.0000000
5.09999990 -1.00000000 4.19999981 -1.00000000 3.29999995
5.0999999046325684 -1.0000000000000000 4.1999998092651367 -1.0000000000000000 3.2999999523162842
-2.0000000000000000 2.4000000953674316 -2.0000000000000000 1.5000000000000000 -2.0000000000000000 1
sendget int kind=4 to real array kind=8 to image 2 failed.
sendget int kind=4 to real array kind=4 to image 2 failed.
1.51500826E+09 1.51500826E+09 1.51500826E+09 1.51500826E+09 1.51500826E+09
5 -1 4 -1 3
5 -1 4 -1 3
-2 2 -2 1 -2
-2.00000000 5.09999990 -2.00000000 4.19999981 -2.00000000
3.29999995 2.40000010 2.40000010 4.19999981 1.50000000
3.2999999523162842 2.4000000953674316 2.4000000953674316 4.1999998092651367 1.5000000000000000
-2 2 -2 1 -2
3 2 2 4 1
3 2 2 4 1
5 -1 4 -1 3
5 -1 4 -1 3
5.0999999046325684 -1.0000000000000000 4.1999998092651367 -1.0000000000000000 3.2999999523162842
5.09999990 -1.00000000 4.19999981 -1.00000000 3.29999995
64 -1 50 -1 77
64 -1 -4 -1 0
0.0000000000000000 -1.0000000000000000 0.0000000000000000 -1.0000000000000000 4.2038953929744512E-045
strided sendget int kind=1 to kind=4 from image 3 to image 1 failed.
strided sendget int kind=4 to kind=1 from image 3 to image 1 failed.
strided sendget real kind=4 to kind=8 from image 3 to image 1 failed.
strided sendget real kind=8 to kind=4 from image 3 to image 1 failed.
6.40000248 -1.00000000 0.00000000 -1.00000000 0.00000000
0 -1 0 -1 0
0 -1 0 -1 0
0.0000000000000000 -1.0000000000000000 0.0000000000000000 -1.0000000000000000 3.0000000000000000
64.0000000 -1.00000000 50.0000000 -1.00000000 77.0000000
strided sendget real kind=4 to int kind=4 from image 3 to image 1 failed.
strided sendget int real kind=4 to int kind=1 from image 3 to image 1 failed.
strided sendget int kind=4 to real kind=8 from image 3 to image 1 failed.
strided sendget int kind=4 to real kind=4 from image 3 to image 1 failed.
ERROR STOP
Abort(1) on node 0 (rank 0 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0
OpenCoarrays internal error on image 2: SYNC IMAGES failed
OpenCoarrays internal error on image 3: SYNC IMAGES failed
Error: Command:
`/opt/mpich/bin/mpiexec -n 3 /var/tmp/pamac-build-avltbyzn/opencoarrays/src/OpenCoarrays-2.9.2/build/bin/OpenCoarrays-2.9.2-tests/sendget_convert_nums`
failed to run.
<end of output>
Test time = 0.14 sec
----------------------------------------------------------
Test Fail Reason:
Required regular expression not found. Regex=[Test passed.
]
"sendget_convert_nums" end time: Oct 10 20:43 AEDT
"sendget_convert_nums" time elapsed: 00:00:00
----------------------------------------------------------
27/80 Testing: sendget_convert_char_array
27/80 Test: sendget_convert_char_array
Command: "/usr/bin/bash" "/var/tmp/pamac-build-avltbyzn/opencoarrays/src/OpenCoarrays-2.9.2/build/bin/cafrun" "-np" "3" "/var/tmp/pamac-build-avltbyzn/opencoarrays/src/OpenCoarrays-2.9.2/build/bin/OpenCoarrays-2.9.2-tests/sendget_convert_char_array"
Directory: /var/tmp/pamac-build-avltbyzn/opencoarrays/src/OpenCoarrays-2.9.2/build
"sendget_convert_char_array" start time: Oct 10 20:43 AEDT
Output:
----------------------------------------------------------
#abcdefghij #, len: 20
#abcdefghij #, len: 20
#abcdefghij #, len: 20
#abcdefghij #, len: 20
#abc #, len:#EFG #, len:#klm #, len:#NOP #, len: 7
#abc #, len:#EFG #, len:#klm #, len:#NOP #, len: 7
#abc #, len:#EFG #, len:#klm #, len:#NOP #, len: 7
#abc #, len:#EFG #, len:#klm #, len:#NOP #, len: 7
#\90\F1 \FE
?\C8 #, len: 20
ERROR STOP sendget kind=1 to kind=1 from image 1 to image 3 failed.
Abort(1) on node 2 (rank 2 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 2
Error: Command:
`/opt/mpich/bin/mpiexec -n 3 /var/tmp/pamac-build-avltbyzn/opencoarrays/src/OpenCoarrays-2.9.2/build/bin/OpenCoarrays-2.9.2-tests/sendget_convert_char_array`
failed to run.
<end of output>
Test time = 0.12 sec
----------------------------------------------------------
Test Fail Reason:
Required regular expression not found. Regex=[Test passed.
]
"sendget_convert_char_array" end time: Oct 10 20:43 AEDT
"sendget_convert_char_array" time elapsed: 00:00:00
----------------------------------------------------------
Pinned Comments
banana-bred commented on 2024-02-08 18:19 (UTC)
This package now uses Open MPI instead of MPICH to avoid build issues. Should the MPICH build issues be resolved, I might make a separate opencoarrays-mpich package which uses MPICH.
To use OpenCoarrays :