add Apple Silicon builds to CI (using macos-14 images); add WITH_OPENMP option to build_gdl.sh
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 43.72%. Comparing base (
e1d7f28) to head (5e94f11). Report is 17 commits behind head on master.
:exclamation: Current head 5e94f11 differs from pull request most recent head a93ce86. Consider uploading reports for the commit a93ce86 to get more accurate results
Additional details and impacted files
@@ Coverage Diff @@
## master #1788 +/- ##
==========================================
- Coverage 43.89% 43.72% -0.17%
==========================================
Files 376 376
Lines 97442 97401 -41
Branches 19888 19918 +30
==========================================
- Hits 42769 42589 -180
- Misses 54673 54812 +139
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
@slayoo seems that macos-14 has a problem with MPI? Not sure if it is indeed that, since compiling on Apple Silicon with OpenMP using our cmake/build_gdl.sh inevitably make gdl crash on a sigtrap. Only by removing OPENMP do the executable work.
@GillesDuvert, indeed disabling OpenMP for Apple Silicon helps! Thanks!
Now, we have only two tests failing there:
The following tests FAILED:
66 - test_byte_conversion.pro (Failed)
Errors while running CTest
67 - test_bytscl.pro (Failed)
the first fails with:
% Compiled module: TEST_BYTE_CONVERSION.
% Compiled module: BANNER_FOR_TESTSUITE.
% Compiled module: GDL_IDL_FL.
% TEST_BYTE_BUG_586: NO errors encountered during TEST_BYTE_BUG_586 tests
% Compiled module: ERRORS_CUMUL.
% TEST_BYTE_BASIC_32768:
NO errors encountered during TEST_BYTE_BASIC_32768 tests
% Compiled module: ERRORS_ADD.
% TEST_BYTE_BASIC_32768: Error on operation : input as Long for : -32765
% TEST_BYTE_BASIC_32768: Error on operation : input as Long for : -32766
% TEST_BYTE_BASIC_32768: Error on operation : input as Long for : -32767
% TEST_BYTE_BASIC_32768: Error on operation : input as Long for : -32769
% TEST_BYTE_BASIC_32768: Error on operation : input as Long for : -32770
% TEST_BYTE_BASIC_32768:
=============================================================
% TEST_BYTE_BASIC_32768:
= =
% TEST_BYTE_BASIC_32768:
= 5 errors encountered during TEST_BYTE_BASIC_32768 tests =
% TEST_BYTE_BASIC_32768:
= =
% TEST_BYTE_BASIC_32768:
=============================================================
% TEST_BYTE_BASIC_32768: ==============================================
% TEST_BYTE_BASIC_32768: = =
% TEST_BYTE_BASIC_32768: = For details, run it again with /DEBUG !! =
% TEST_BYTE_BASIC_32768: = =
% TEST_BYTE_BASIC_32768: ==============================================
% TEST_BYTE_STRING2BYTE:
NO errors encountered during TEST_BYTE_STRING2BYTE tests
2017-03-11 : First run should be OK in GDL
% TEST_BYTE_WITH_LOOP:
NO errors encountered during TEST_BYTE_WITH_LOOP tests
2017-03-11 : Second run should be BAD in GDL
% TEST_BYTE_WITH_LOOP:
NO errors encountered during TEST_BYTE_WITH_LOOP tests
% TEST_BYTE_CONVERSION:
============================================================
% TEST_BYTE_CONVERSION:
= =
% TEST_BYTE_CONVERSION:
= 5 errors encountered during TEST_BYTE_CONVERSION tests =
% TEST_BYTE_CONVERSION:
= =
% TEST_BYTE_CONVERSION:
============================================================
the second with:
% Compiled module: TEST_BYTSCL.
PLEASE contribute to add tests on MIN, MAX, TOP keywords
% Compiled module: DIST.
% Compiled module: ERRORS_ADD.
% TEST_BYTSCL_TOP: Error on operation : Pb with top= -128, min/max : 0, 0
% Compiled module: BANNER_FOR_TESTSUITE.
% Compiled module: GDL_IDL_FL.
% TEST_BYTSCL_RAMPS: =========================================================
% TEST_BYTSCL_RAMPS: = =
% TEST_BYTSCL_RAMPS: = 1 errors encountered during TEST_BYTSCL_RAMPS tests =
% TEST_BYTSCL_RAMPS: = =
% TEST_BYTSCL_RAMPS: =========================================================
% Compiled module: ERRORS_CUMUL.
% TEST_BYTSCL_RAMPS: NO errors encountered during TEST_BYTSCL_RAMPS tests
% TEST_BYTSCL_RAMPS_NAN:
NO errors encountered during TEST_BYTSCL_RAMPS_NAN tests
% TEST_BYTSCL_IDL_PROBLEM:
NO errors encountered during TEST_BYTSCL_IDL_PROBLEM tests
% TEST_BYTSCL: ===================================================
% TEST_BYTSCL: = =
% TEST_BYTSCL: = 1 errors encountered during TEST_BYTSCL tests =
% TEST_BYTSCL: = =
% TEST_BYTSCL: ===================================================
ah this will be easier to solve than the openMP parallel computing that Apple spent a lot of efforts to make crash on its products.
@slayoo strange I have access to an M1, and these 2 test pass OK. However test_fix does not pass. The machine says:
GDL> !version
{
"ARCH": "arm64",
"OS": "darwin",
"OS_FAMILY": "unix",
"OS_NAME": "Mac OS X",
"RELEASE": "8.2",
"BUILD_DATE": "Apr 11 2024",
"MEMORY_BITS": 64,
"FILE_OFFSET_BITS": 64
}
@alaingdl could you please check if test_byte_conversion.pro and test_bytscl.pro work OK on Apple Silicon for you?
(here, these are the only two tests that fail on CI on Apple Silicon, but they seem to work OK for Gilles on M1 CPU)
Thanks