-
Notifications
You must be signed in to change notification settings - Fork 126
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
Organize and add examples #3820
Organize and add examples #3820
Conversation
Good work here, few things:
|
I would honestly do the same with the tests if possible ( |
0ed3994
to
c93e0fb
Compare
@vicentebolea @anagainaru This PR is ready for review. I tried to reformat, but it does not work for python files for some reason locally, i don't even get the same output as the CI machine
|
Yep, the script for python is in |
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.
Great job here, this is looking good!
The review has taken me a while since it is 406 files changes, I could not go onto details in the added parts, but that is something for the CI. I left some notes. Other notes:
- We will need to reformat the shell script too to pass the linters, After you fix the python formatting you will see the errors.
- We might have to disable testing in the static builds if they fail since we hit the space limit in github actions runners.
- Once you get the smallest and most succint cmake partern for testing that whether the example is part of the adios worktree apply it to all the tests.
Once again thanks for taking care of this, this is indeed a very laborious effort, but it is looking great 👍 I will be tomorrow online for afew hours before I leave for vacations I will have another look then
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.
Nice work, this was a lot of reorganizing ! I tried to look over most of the changes (source files and not cmake) but there were a lot of files modified so I am sure I missed things.
I built ADIOS2 with your branch on my laptop and the Tests were built so the default is not OFF
. This needs to be fixed or if you want to leave them, the build scripts in the scripts
folder need to have -D BUILD_TESTING=OFF
(you removed this).
One additional comment:
- In some cases our examples use
#if ADIOS2_USE_MPI
and in other we check in cmake and do not generate the example if MPI is not present. Is there a reason a code uses one or the other?
This is more a discussion with @vicentebolea / @pnorbert / @eisenhauer, but didn't we decide we want to keep the complex examples in ADIOS2-Examples and import them in the docs from there? I really don't think we need all of these examples in the ADIOS2 repo (Kokkos-{backend} for each backend is a bit much, it makes sense in a repo dedicated to ADIOS2 examples but not in the main library). I am assuming this was discussed when I wasn't there but I really don't think we should bulk up the library with more than basic examples.
I understood from our last few conversations that the consensus is to move all the adios2-examples examples to our main repo and merge then with our main repo examples. What I originally proposed was to simply move the readthedocs for adios2-examples our main repo but in the meeting the consensus was to also move the examples itself. The reason was that it is confusing as it is having two sets of examples. At the end of the day i do not consider it a big deal eitherway. Two things to watch out:
Connecting to the previous point, we might want the examples to be a
The drawback is that we would have to bump the adios2-example commit version time to time, we can add an automatized rule that it does it whenever something is commited in master in adios2-examples. What do you all think about it? |
I fixed that now. |
Yes, some examples can compile with both mpi on and off, and some can compile only with mpi on. |
c1ba1c5
to
523f5d9
Compare
I was mainly asking if there is a reason for choosing one or the other? It's not a huge deal, we can deal with this some other time. Norbert convinced me to go with this version of examples in the main repo so I will remove my request for changes. |
72efbf2
to
84604fb
Compare
@pnorbert I would appreciate checking that all the simulation examples work as expected along with their scripts. |
84604fb
to
65390e3
Compare
Requests addressed and Vicente is out for a couple more weeks.
@spyridon97 my changes are ready |
1145b99
to
4980f81
Compare
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.
Last round of changes, everything else looks good. I have confirmed that we build the examples in every job in the CI. We might have to adjust this later to disable examples in some already slow builds (static builds probably). Make the discussed changes, rebase to the last master and we can have this merged.
Fantastic work @spyridon97 🎉
I have made the changes to speedup the process |
What discussed changes do you refer to that i have not already done? |
4e4a3d0
to
7bad0a6
Compare
@spyridon97 I have also remove the mark_advance(BUILD_TESTING) since it is a very common CMAKE variable that the user might expect it to see it when doing |
If you approve the latest changes please merge after the CI passes. |
aa77e3c
to
bd89672
Compare
1) Make all examples individually compilable 2) Make examples' executable names be consistent 3) Move certain examples in the right folders 4) Rename certain examples for clarity 5) Make all examples installable 6) Fix Python formatting using black 7) Add licence documentation wherever it's missing
1) Make all examples individually compilable 2) Make examples' executable names be consistent 3) Rename certain examples for clarity 4) Make all examples installable 5) Fix Python formatting using black 6) Add licence documentation wherever it's missing
The CI still enables both.
bd89672
to
2324daf
Compare
This PR performs the following tasks:
This resolves #3806 and (partially?) #3795
Fixes: #3806