-
Notifications
You must be signed in to change notification settings - Fork 15
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
[CI] Add symbols.yml and modules.yml #261
Conversation
40783a0
to
c46b206
Compare
An example of what we can conclude from the output of the two new builds:
|
760eb21
to
1effdc4
Compare
1effdc4
to
a150b77
Compare
@nimgould Can you confirm that the following Fortran modules are the same in single and double precision?
I'm not sur for the last ones. |
@nimgould I checked the modules of my previous message tonight and the modules They should have a different name to not collapse if a library / binary is linked with both The other modules are only using integers so it's fine if they have the same name in single / double precision. |
Nick, we renamed the Fortran modules for 64-bit integer but we did nothing for the C routines. |
Yes to both of these, I will sort them out as soon as I have a working draft of the HSL subset library. |
I am not sure I know what to do with the pastix/spm interface modules as these are provided by the pastix people with the same name for single and double. I can change the galahad dummy names, but what happens when somebody links against a binary library compiled by someone else? Any ideas? |
I could presume that the single precision module is pastixf_interfaces_single, while the double one is just pastixf_interfaces (without a _double)? |
@jfowkes @nimgould
I add two new CI builds with this pull request.
The goal of the first new build (
symbols.yml
) is to check if the following shared libraries export the same symbols:Two libraries can export the same symbols ONLY IF it's exactly the same routine.
For example
libgalahad_single.so
andlibgalahad_double.so
can both exportiamax_
ONLY IF both libraries arecompiled with 32-bit integer.
Note that I don't compile GALAHAD with SSIDS for now but it seems that many C++ symbols are shared by both single / double libraries.
We probably need to preprocess some symbols in C++ files...
The goal of the second new build (
modules.yml
) is to check that each library generates Fortran modules with different names.