Zoltan2: Several tests fail with 64 bit builds of of Scotch and ParMETIS
Created by: bartlettroscoe
Next Action Status:
64-bit Scotch and ParMETIS not enabled for Zoltan2 yet. Next: Zoltan2 team to fix failing tests then enable ...
CC: @trilinos/zoltan2
Description:
As @kddevin predicted in this #158 comment, several of the Scotch and ParMETIS tests fail when using a 64 bit build of Scott and ParMETIS. These are the only TPLs that are available with the SEMS Dev Env (see a lengthy discussion in #158 (closed)).
In particular, the following Zoltan2 tests failed with the 64 bit builds of Scotch and ParMETIS:
123 - Zoltan2_Partitioning1_MPI_4 (Failed)
124 - Zoltan2_Partitioning1_OneProc_MPI_4 (Failed)
125 - Zoltan2_Partitioning1_VWeights_MPI_4 (Failed)
126 - Zoltan2_Partitioning1_OneProc_VWeights_MPI_4 (Failed)
127 - Zoltan2_Partitioning1_EWeights_MPI_4 (Failed)
128 - Zoltan2_Partitioning1_OneProc_EWeights_MPI_4 (Failed)
However, what is interesting is that several Zoltan2 "scotch" and "parmetis" tests also passed:
$ grep " Test " ctest.out | grep "Passed" | grep "Zoltan2_" | grep -i "\(parmetis\|scotch\)"
115/221 Test #133: Zoltan2_Partitioning1_ParMETIS_EWeights_MPI_4 ........... Passed 0.39 sec
118/221 Test #131: Zoltan2_Partitioning1_ParMETIS_VWeights_MPI_4 ........... Passed 0.41 sec
120/221 Test #132: Zoltan2_Partitioning1_ParMETIS_OneProc_VWeights_MPI_4 ... Passed 0.40 sec
121/221 Test #134: Zoltan2_Partitioning1_ParMETIS_OneProc_EWeights_MPI_4 ... Passed 0.40 sec
122/221 Test #130: Zoltan2_Partitioning1_ParMETIS_OneProc_MPI_4 ............ Passed 0.40 sec
149/221 Test #129: Zoltan2_Partitioning1_ParMETIS_MPI_4 .................... Passed 0.39 sec
217/221 Test #141: Zoltan2_OrderingScotch_MPI_4 ............................ Passed 0.38 sec
218/221 Test #167: Zoltan2_parmetis_example_MPI_4 .......................... Passed 2.97 sec
There are many possible options to address these failing tests that I can think of:
-
Disable only the currently failing tests for just the SEMS Dev Env build: This could be done by setting cache vars
<test_name>_DISABLE=TRUE
in the SEMSDevEnv.cmake file.- Pro: Easy to implement by non-Zoltan2 developers
- Pro: Still enables Scotch and ParMETIS TPLs and gets at least some tests run using these
- Con: Does not exercise some functionality of Zoltan2 for Scotch and ParMETIS
- Con: As Zoltan2 tests using Scotch and ParMETIS are changed but only tested with 32 bit builds of Scotch and ParMETIS, there is greater risk that these updated tests which are currently passing on the SEMS Dev Env may then fail with the 64 bit builds of these TPLs.
- Summary: Easy short-term solution that yields all passing CI tests with Zoltan2
-
Disable Scotch and ParMETIS TPL support for Zoltan2: This could be done by setting
Zoltan2_ENABLE_Scotch=OFF
andZoltan2_ENABLE_ParMETIS=OFF
in the SEMSDevEnv.cmake file.- Pro: Easy to implement by non-Zoltan2 developers
- Pro: There would never be a Scotch or ParMETIS related test failure on the SEMS Dev Env.
- Con: The build and usage of Zoltan2 with Scotch and ParMETIS would not be getting tested on the SEMS Dev Env.
- Summary: Easy short-term solution that yields all passing CI tests with Zoltan2
-
Update the Zoltan2 test suite to work with 64 bit Scotch and ParMETIS: This would require Zoltan developers to do the updates.
- Pro: Would allow full Zoltan2 test suite to be run on the SEMS Dev Env.
- Pro: Strengthens the Zoltan2
- Con: Requires Zoltan2 developers to update the Zoltan test suite
- Summary: Best long-term solution but requires work from the Zoltan2 developers
I will provide detailed reproducibility instructions in a later comment.
Definition of Done:
- No failing Zoltan2 tests in pre-push CI testing with the SEMS Dev Env
- Zoltan2 developers decide on best approach to dealing with these failing tests.
Tasks:
???