Skip to content
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

Disable build noise from sc and p4est #1283

Merged
merged 23 commits into from
Jan 20, 2025

Conversation

dutkalex
Copy link
Contributor

Describe your changes here:
Until very recently, the building of the numerous examples and tests of both libsc and p4est couldn't be disabled in downstream projects. This PR addresses this issue to provide cleaner and faster t8code builds.

All these boxes must be checked by the reviewers before merging the pull request:

As a reviewer please read through all the code lines and make sure that the code is fully understood, bug free, well-documented and well-structured.

General

  • The reviewer executed the new code features at least once and checked the results manually

  • The code follows the t8code coding guidelines

  • New source/header files are properly added to the Makefiles

  • The code is well documented

  • All function declarations, structs/classes and their members have a proper doxygen documentation

  • All new algorithms and data structures are sufficiently optimal in terms of memory and runtime (If this should be merged, but there is still potential for optimization, create a new issue)

Tests

  • The code is covered in an existing or new test case using Google Test

Github action

  • The code compiles without warning in debugging and release mode, with and without MPI (this should be executed automatically in a github action)

  • All tests pass (in various configurations, this should be executed automatically in a github action)

    If the Pull request introduces code that is not covered by the github action (for example coupling with a new library):

    • Should this use case be added to the github action?
    • If not, does the specific use case compile and all tests pass (check manually)

Scripts and Wiki

  • If a new directory with source-files is added, it must be covered by the script/find_all_source_files.scp to check the indentation of these files.
  • If this PR introduces a new feature, it must be covered in an example/tutorial and a Wiki article.

License

  • The author added a BSD statement to doc/ (or already has one)

@sandro-elsweijer
Copy link
Collaborator

Hey @dutkalex,
thank you for this contribution. This definitely solves a problem I also have!
But as you have seen, we use MPI datatypes which SC removed and this is the reason why we cannot update SC at the time.
There is an open discussion about that and as soon as it is resolved, we can update SC and deactivate the p4est and SC tests for t8code.

For now you can also run the tests with ctest -R t8_ to only run the t8code tests. If you want to run them in parallel, you can do ctest -j<num_procs/num_opened_mpi_ranks> -R _parallel; ctest -j<num_procs> -R _serial. We have this distinction because the parallel tests spawn multiple processes.

@sandro-elsweijer sandro-elsweijer self-assigned this Nov 4, 2024
@dutkalex
Copy link
Contributor Author

dutkalex commented Nov 4, 2024

Hmm... this explains that.
Thanks for letting me know @sandro-elsweijer. As this is not a "hard problem" but merely a convenience thing, it can wait until libsc checks all the boxes to make a safe upgrade

@sandro-elsweijer
Copy link
Collaborator

@dutkalex A quick update: It seems like our requests were adapted in SC and @lukasdreyer will take a look at it. We will inform you when we update our SC submodule :)

And happy new year!

@dutkalex
Copy link
Contributor Author

dutkalex commented Jan 3, 2025

Hi @sandro-elsweijer and happy new year to you too!

@dutkalex A quick update: It seems like our requests were adapted in SC and @lukasdreyer will take a look at it. We will inform you when we update our SC submodule :)

Cool 😎 Let me know if this stuff needs updating or hardening, or if I can help generally speaking

@sandro-elsweijer
Copy link
Collaborator

@dutkalex Okay you should be able to bump to the newest SC version now. This should then also work with the MPI datatypes and you can remove your MPI changes.

@dutkalex
Copy link
Contributor Author

@dutkalex Okay you should be able to bump to the newest SC version now. This should then also work with the MPI datatypes and you can remove your MPI changes.

@sandro-elsweijer I followed your instructions, everything seems to work 😊

CMakeLists.txt Outdated Show resolved Hide resolved
@lukasdreyer lukasdreyer mentioned this pull request Jan 16, 2025
14 tasks
@lukasdreyer
Copy link
Collaborator

closes #1109

@lukasdreyer lukasdreyer linked an issue Jan 16, 2025 that may be closed by this pull request
@dutkalex dutkalex requested a review from lukasdreyer January 20, 2025 14:31
Copy link
Collaborator

@lukasdreyer lukasdreyer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few duplicated option calls left, otherwise a nice addition

CMakeLists.txt Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
@dutkalex
Copy link
Contributor Author

Hope I fixed them all them all this time. Thanks for catching that @lukasdreyer

@lukasdreyer
Copy link
Collaborator

Hope I fixed them all them all this time. Thanks for catching that @lukasdreyer

Looks much better now!

@lukasdreyer lukasdreyer enabled auto-merge January 20, 2025 16:33
@lukasdreyer lukasdreyer merged commit cc2cd86 into DLR-AMR:main Jan 20, 2025
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Issues with t8_shmem
3 participants