-
-
Notifications
You must be signed in to change notification settings - Fork 346
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
Cantera 2.6.0: Multiple test failures if built with Lapack support and with Sundials 6.2.0 #1419
Comments
Sundials 6.2.0 was not tested when Cantera 2.6 was released (at that point, CI was tested and passed for Sundials 2, 3, 4, 5.8, 6.0); the relevant CI runner (which also linked against LAPACK) is cantera/.github/workflows/main.yml Lines 311 to 348 in 9573e6b
While not necessarily related, some deprecation warnings (#1349) were only recently fixed in #1406. I am not sure that there will be a patch for 2.6, so the recommended resolution would be to compile 2.6 with a less recent version of Sundials, while fixing underlying issues for the upcoming 3.0 release. |
It's seem that issue is related Sundials built with gcc 11.x: in my system if sundials 5.2, 5.8 or 6.2 (presented in repo) are built with lapack+int64 support then it's lapack tests are failed. And there are no test failures if built it with gcc 12.x and cantera tests are passed too. Moreover the sundials 6.5.0 isn't affected this issue for me both gcc 11.x and gcc 12.x (with cantera too). |
Interesting. Based on your report there are a large number of failures for |
Cantera does not support the use of BLAS/LAPACK libraries that use 64-bit integer types. I'm surprised you're finding it works with any compiler or Sundials version. One of the problems is I don't think there's a general way to check from the BLAS/LAPACK library alone whether it was built for 32 or 64 bit integer types. I guess for Sundials, there should be a |
@ischoegl @speth |
Ah, I see. I was unaware that Sundials provided flexibility in this regard. Cantera currently assumes that the Sundials index type is just However, all usage of this type (look for |
@ischoegl The additional problem is that But as I can see the tests are run with Conda installed packages including Sundials and it has Lapack support enabled (e.g. https://github.com/Cantera/cantera/actions/runs/3853787085/jobs/6567107735). But this test env uses GCC-12.2.0 The re-testing in other env/OS for GCC-11.x takes more time :( @speth I noticed that Sundials 5.4.0 Changelog states:
In 6.5.0: |
This sounds like the expected behavior.
I'm not familiar with Arcode (or additional settings you may have used), but missing includes can be addressed with the SCons
For these tests, CI uses the default compiler for Based on this, it appears that the problem may not be reproducible for |
Yes, I think the problem with arcode should be solved when I will pass `CPPDEFINES={'ENABLE_XBRAID': 0}) the way it done for googletest in ext/SConscript.
I assumed the tests for sundials 5.8 used gcc 12 because of conda configuration refers libgcc-ng-12 (raw log): But maybe it's doesn't mean the same version of conda libgcc-ng is used for gcc to build. Anyway the main problem is insufficient free time for me to dive into problem and create stable reproducer. But I will try to prepare it. |
There seems to be a bit of confusion here. If you compile with That said, I'm not sure why a flag related to ARKODE would need to be set -- we only compile CVODES, IDAS, and the necessary linear algebra modules from the vendored Sundials. |
Finaly I had no time to quick adopt the scons scripts to build appropriate Sundials configuration under Ubuntu system to reproduce it. Could I close this issue if I will not observe it on Cantera 3.0.0b1 for latest system Sundials and GCC? |
Thanks for the update @band-a-prend. I think if you're not seeing this bug anymore with Cantera 3.0.0b1, whether it's from a change in Cantera or some other software versions installed on Gentoo, we can safely close this. Of course, if it pops up again, you can always create a new issue. |
Problem description
When compile Cantera 2.6.0 with Lapack support and Sundials 6.2.0 (system library) and then run
scons test
the multiple CXX and PYTHON tests failure.Steps to reproduce
scons -j4 build CC=x86_64-pc-linux-gnu-gcc CXX=x86_64-pc-linux-gnu-g++ cc_flags=-march=native -O2 -pipe cxx_flags=-std=c++11 debug=no FORTRAN=x86_64-pc-linux-gnu-gfortran FORTRANFLAGS=-march=native -O2 -pipe optimize_flags=-Wno-inline renamed_shared_libraries=no use_pch=no system_fmt=y system_sundials=y system_eigen=y system_yamlcpp=y env_vars=all extra_inc_dirs=/usr/include/eigen3 blas_lapack_libs=lapack,blas f90_interface=y python_package=full python_cmd=python3.10 prefix=/usr
i.e. scons options:
CanteraError thrown by CVodesIntegrator::step
.Behavior
Expected that all tests except skipped will be pass like if build Cantera against Sundials 5.2.0 instead of Sundials 6.2.0 (affected version).
System information
Attachments
build.log
Additional context
The same error I saw with Sundials 5.8.0.
Could I provide additional information?
The text was updated successfully, but these errors were encountered: