-
Notifications
You must be signed in to change notification settings - Fork 564
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Zoltan: Several tests fail with 64 bit builds of of Scotch and ParMETIS #475
Comments
I think in the short-term, going with option-1 "Disable only the currently failing tests for just the SEMS Dev Env build" above is the best short-term solution. NOTE: These tests will only be disabled for the SEMS Dev Env build and no other builds. I will provide reproducible instructions once I push the commit for the SEMSDevEnv.cmake file that disables these tests. @trilinos/framework, FYI: we need all clean Zoltan tests in pre-push CI testing. |
Please do not disable Zoltan tests. There is a fourth option: providing 32-bit ParMETIS and Scotch builds in SEMS. Indeed, 32-bit ParMETIS builds are used by our primary SNL customer of Zoltan. However, the Zoltan code already handles 64-bit ParMETIS correctly. We can update our test suite's answers to use the 64-bit builds. Please let us know by what date these builds are needed; no timeline was requested in #158. |
These would only be disabled when the file SEMSDevEnv.cmake gets included and that will currently load the 64 bit versions these libraries. If that is not acceptable, for now, we can just go with option-2 "Disable Scotch and ParMETIS TPL support for Zoltan for just the SEMS Dev Env build". Since you can't successfully test Zoltan with the 64 bit versions of these libraries, I can't see that possible problem this could cause.
That is not in my power to do on any short time-scale. But we can push the SEMS team to see if they can provide that for us. But SEACAS wants/requires 64 bit versions (see this comment). Therefore, I don't think going with 32-bit versions of these is fair to SEACAS since that would affect its testing.
That is the best option and this would strengthen the Zoltan testing for 64 bit builds anyway.
We would like to have an effective pre-push CI build yesterday but I don't see why this one issue of 32-bit vs. 64 bit Scotch and ParMETIS needs to hold that up. Let's discuss this at the next Trilinos Leaders Meeting. |
Another way to look at this issue is that if a user reads the SEACAS documentation: https://github.com/gsjaardema/seacas/blob/master/README-PARALLEL.md follow the instructions to build a 64 bit version of ParMETIS, and then does:
they are going to see these same failing Zoltan tests. I think you can argue that this is a rational thing for a user to try. One could argue that Zoltan (and Zoltan2 in #476) should address these failing tests with 64 bit builds of these libraries one way. |
Responding to @kddevin:
There must be some type of misunderstanding going on here. I think you think I am suggesting something that I am not suggesting. The disabling going on with option-1 and option-2 will only impact builds when the SEMSDevEnv.cmake is included. That file only gets included by default if you source the SEMS dev env with load_sems_dev_env.sh. Therefore, this will not affect any existing build of Trilinos that anyone has ever done or ever will do on the planet earth unless they source the script
Exactly, that is why option-1 is much better than option-2 in the short term. The rule of disabling failing software/tests is that you always disable a little as possible. That is, you want to (temporarily) disable with a scalpel and not a machete. Option-1 is a scalpel. Simply never enabling ParMETIS is a machete.
I am not trying to create a fire-drill here; I am trying to do just the opposite. Going with option-1 let's Zoltan developers have time to fix the failing Zoltan tests with 64 bit builds of these TPLs but does not block us being able to start pushing forward with a more effective CI process for Trilinos. The statement "don't disable tests that are already failing" is what is creating a fire-drill (for no good reason that I can see). I will try to give you a call over the phone to try to come to a common understanding about what is actually being proposed and what the issues are. |
A little more info on this. Where Zoltan developers aware that Scotch and ParMETIS are not currently being enabled with the current offical Trilinos post-push CI testing process? You can clearly see that by looking at the first CI iteration this morning for Zoltan at: http://testing.sandia.gov/cdash/viewConfigure.php?buildid=2488428 which shows: _Final set of non-enabled TPLs:_ ... Scotch ... ParMETIS ... 94 In fact, I can't find a single automated post-push build of Zoltan that ever enables Scotch or ParMETIS Zoltan from looking at both CDash sites: http://testing.sandia.gov/cdash/index.php?project=Trilinos&date=2016-06-29&subproject=Zoltan So, what I am proposing is to actually add more automated testing for Zoltan than currently exists. Therefore, can Zoltan developers please work with me on this? |
I locally investigated using:
in the SEMSDevEnv.cmake file to temporarily disable these failing tests (until they can be fixed) but it fails the configure with the error:
This issue is that these CMakeLists.txt files are not properly using the output variable Therefore, the most sensible thing to do is to avoid enabling (not disabling) Scotch and ParMETIS for Zoltan testing for now for the SEMS Dev Env. Testing with Scotch and ParMETIS has never been enabled for the SEMS Dev Env up to this point (I am the first person to try). |
As I said above, I will try to update the answer files by the end of next week. |
Currently if you eanble 64-bit Scotch and ParMETIS with Zoltan several tests fail. This is a known issue and these tests will be fixed soon. After that, this commit can be reverted.
This enables ParMETIS with passing tests for Amesos, Amesos2, ML, and SEACAS (see Trilinos #158). Currently these 64-bit TPLs are not enabled for Zoltan and Zoltan2 in this build because the Zoltan and Zoltan2 test suites don't currently work with 64-bit libraries (see Trilinos #475 and #476). Also, ShyLU support for ParMETIS is also not enabled because it needs ParMETIS suppot from Zoltan2 which is not enabled. Once the Zoltan and Zoltan2 test suites using 64 bit TPLs are fixed, then these TPLs can be enabled. Note that the ShyLU test for ParMETIS passes for the 64 bit ParMETIS so nothing in ShyLU needs to be fixed. Note that SEMS only provides MPI builds of these TPLs so they are disabled for serial builds. Build/Test Cases Summary Enabled Packages: Disabled Packages: PyTrilinos,Pliris,Claps,TriKota Enabled all Packages 0) MPI_DEBUG => Test case MPI_DEBUG was not run! => Does not affect push readiness! (-1.00 min) 1) SERIAL_RELEASE => Test case SERIAL_RELEASE was not run! => Does not affect push readiness! (-1.00 min) 2) MPI_RELEASE_DEBUG_ST => passed: passed=2346,notpassed=0 (341.29 min) 3) SERIAL_RELEASE_ST => passed: passed=2163,notpassed=0 (172.52 min) Other local commits for this build/test group: 92a1d8d, f2b3c92
Zoltan Developers, To reproduce the failing Zoltan tests building against the 64-bit ParMETIS and Scotch TPLs in the SEMS Dev Env in order to fix them, one just needs to be on a machine that provides the SEMS Dev Env and then do something like the following:
If that does not work to reproduce the failing tests shown above, please let me know. Once all of the Zoltan tests are passing, then the commit f2b3c92 just needs to be reverted using:
Then, if desired, a Zoltan developer could test and push these changes on a machine with the SEMS Dev Env with:
Thanks, -Ross |
32-bit local indices in TPLs ParMETIS and Scotch. Requested by Ross B. in issue #475 for SEMS testing. SEMS builds 64-bit TPLs and will not add 32-bit TPLs, but the default builds of ParMETIS and Scotch are 32-bit. Thus, we need to test both.
Note: The Zoltan tests pass when consistent versions of ParMETIS and Scotch are used. The SEMS builds currently have 32-bit IDs in Scotch and 64-bit IDs in ParMETIS. |
Next Action Status:
64-bit Scotch and ParMETIS not enabled for Zoltan yet. Next: Zoltan team to fix failing tests then enable ...
CC: @trilinos/zoltan
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).
In particular, the following Zoltan tests failed with the 64 bit builds of Scotch and ParMETIS:
However, what is interesting is that several Zoltan "scotch" and "parmetis" tests also passed:
There are many possible options to address these failing tests that I can think of:
<test_name>_DISABLE=TRUE
in the SEMSDevEnv.cmake file.Zoltan_ENABLE_Scotch=OFF
andZoltan_ENABLE_ParMETIS=OFF
in the SEMSDevEnv.cmake file.I will provide detailed reproducibility instructions in a later comment.
Definition of Done:
Tasks:
???
The text was updated successfully, but these errors were encountered: