-
Notifications
You must be signed in to change notification settings - Fork 471
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
Added a single precision GitHub CI #4262
Conversation
@v-dobrev , as suspected, the build fails 😏 😄 |
I tested with single precision on various platforms before approving the single precision PR -- I guess the gcc version in this version of Ubuntu has its own issues. |
Yeah, that Ubuntu is really weird 😵💫 , it looks like |
I don't think it "optimizes" to |
Basically the code #include <cmath>
#include <iostream>
int main()
{
std::cout << "sizeof(::pow(1.1f, 1.1f)) = "
<< sizeof(::pow(1.1f, 1.1f)) << std::endl;
std::cout << "sizeof(std::pow(1.1f, 1.1f)) = "
<< sizeof(std::pow(1.1f, 1.1f)) << std::endl;
return 0;
} prints with gcc:
while with clang it prints:
I guess the standard is not clear about the |
In any case, it looks like we can just add |
Yes, seems to be working 😉 |
I added najlkin/add-github-ci also to github-actions for a cleaner configuration 👍 . |
It seems to be all working 👍 , just this GitHub web app shows it is waiting for some tests, but they are not present in the setup anymore 😏 |
Based on the discussion, this is what needs to be done (in order):
|
One suggestion: use |
I do not know, if |
I mean there is not a single way how to abbreviate "single" 😄 , it should be "sngl", but in three letters that "sgl" is the most suggestive, I think 😉 |
@dylan-copeland, @tzanio, what do you think about the |
I don't have a strong preference, but we may want to choose something consistent with precision types that may be added in the future, e.g. half, long double, etc. Maybe the first letter plus |
Well, that is another option 😄 . It does not need to be 3 letters, but something short and of the same length ideally as it appears in the test names. |
It's true, we don't necessarily need to stick with 3 letters. I'm not sure that |
I merged mfem/github-actions#11 and created |
Ok, here we go. Just @v-dobrev , based on the discussion on Slack, the preference was to use tags instead of branches for github-actions to prevent the situation when |
It's probably good to switch to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good!
I made a couple small suggestions if you want to include them.
Done, ready for merging 😉 |
Merged in |
Thanks, @najlkin ! |
I update the [required tests]( (https://github.com/mfem/mfem/settings/branch_protection_rules/144202) for See them in action in #4310 and let me know if something is missing. |
I need to move that into a new PR, thank you for the reminder! |
This PR adds a single precision parallel build to the GitHub workflow. It relies on the branch najlkin/add-single-ci in github-actions and the corresponding PR: mfem/github-actions#11 , which should be merged prior to this PR.
PR Checklist
make style
.CHANGELOG
:CHANGELOG
to group with other related features?INSTALL
:make
orcmake
have a new target?.github
.appveyor.yml
.gitignore
:make distclean; git status
shows any files that were generated from the source by the project (not an IDE) but we don't want to track in the repository.examples/makefile
:SEQ_EXAMPLES
andPAR_EXAMPLES
variables.clean
target..gitignore
file.examples/CMakeLists.txt
:ALL_EXE_SRCS
variable.THIS_TEST_OPTIONS
is set correctly for the new example.doc/CodeDocumentation.dox
.examples/pumi
), list it indoc/CodeDocumentation.conf.in
src/examples.md
.src/examples.md
andsrc/img
.examples.md
, list the example under the appropriate categories, add new categories if necessary.features.md
.makefile
andmakefile
in corresponding miniapp directory..gitignore
file.CMakeLists.txt
file in theminiapps
directory, if the new miniapp is in a new directory.CMakeLists.txt
file in the new miniapp directory.doc/CodeDocumentation.dox
miniapps/nurbs
), add it toMINIAPP_SUBDIRS
in themakefile
.miniapps/nurbs
), list it indoc/CodeDocumentation.conf.in
src/meshing.md
andsrc/electromagnetics.md
files.src/examples.md
andsrc/img
.features.md
.mfem/web
repo.README
(rare).doc/CodeDocumentation.dox
(rare).make unittest
to make sure all unit tests pass.tests/scripts
.