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

Move everything except public functionality to detail namespace #16

Open
47 of 59 tasks
msimberg opened this issue Jan 18, 2022 · 0 comments
Open
47 of 59 tasks

Move everything except public functionality to detail namespace #16

msimberg opened this issue Jan 18, 2022 · 0 comments
Assignees
Labels
effort: 3 A few days of work. effort: 4 A few weeks of work. priority: low Nice to have, but nobody is going to be sad if this is never done. type: refactoring

Comments

@msimberg
Copy link
Contributor

msimberg commented Jan 18, 2022

The public API of pika is small: sender/receiver functionality, runtime initialization, what else?

Hidden functionality can then gradually be brought into the public namespace through pika::experimental:: or directly into pika::.

The only reasonable way to do this is module by module:

This is also a good opportunity to do general cleanup.
Avoid nesting detail namespaces into experimental namespace #448

@msimberg msimberg added effort: 3 A few days of work. effort: 4 A few weeks of work. priority: medium This should be done sooner or later. type: refactoring labels Jan 18, 2022
bors bot added a commit that referenced this issue Mar 28, 2022
153: Clean up allocator_support module r=msimberg a=msimberg

Part of #16.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
bors bot added a commit that referenced this issue Mar 28, 2022
152: Clean up affinity module r=msimberg a=msimberg

Move all functionality to detail namespace, replace typedef with using, use compact C++17 namespace declarations. Part of #16.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
bors bot added a commit that referenced this issue Mar 28, 2022
153: Clean up allocator_support module r=msimberg a=msimberg

Part of #16.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
bors bot added a commit that referenced this issue Mar 28, 2022
155: Clean up assertion module r=msimberg a=msimberg

Part of #16. Continues the cleanup of the public API of modules.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
bors bot added a commit that referenced this issue Mar 31, 2022
158: Clean up `async_base` module r=msimberg a=msimberg

Part of #16. Moves the `is_launch_policy` trait to `detail`. Otherwise only minor changes.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
bors bot added a commit that referenced this issue Apr 1, 2022
160: Clean up `async_combinators` module r=msimberg a=msimberg

Part of #16.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
bors bot added a commit that referenced this issue Apr 7, 2022
166: Clean up `version` module r=msimberg a=aurianer

Part of #16. Removes hwloc, boost and mpi dependency in the `version` module.

176: Add missing includes to `transform_mpi.hpp` r=msimberg a=msimberg

I missed this in #156 :/ Potentially worth a 0.3.1, or at least a patch in the spack package.

Co-authored-by: Auriane R <aurianer@cscs.ch>
Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
@aurianer aurianer mentioned this issue Apr 7, 2022
1 task
bors bot added a commit that referenced this issue Apr 8, 2022
179: Clean up topology module r=msimberg a=aurianer

Fixes partially #16
- Moves all topology symbols into the detail namespace

TODO:
- [x] Mark `constexpr`, `noexcept` the functionalities when relevant


Co-authored-by: Auriane R <aurianer@cscs.ch>
bors bot added a commit that referenced this issue Apr 27, 2022
196: Clean up `async_cuda` module r=msimberg a=msimberg

Part of #16.

## Proposed Changes

- Removes CUDA/cuBLAS executors.
- Removes CUDA futures.
- Translates CUDA/cuBLAS executor/future examples/tests with the straightforward sender equivalent (I've put very little effort into optimizing/cleaning up). I've "unseparated" the `cuda_future` test into a single `cu` file since it's easier to manage the template instantiations like that.
- Moves some helper functionality into `detail`.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
bors bot added a commit that referenced this issue May 10, 2022
216: Clean up `command_line_handling` module r=aurianer a=msimberg

Part of #16. There wasn't much to clean up. The biggest change is making `commandline_error_mode` into an `enum class` and adding helper functions for dealing with it.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
bors bot added a commit that referenced this issue Jun 3, 2022
248: Clean up config module r=msimberg a=msimberg

Part of #16. Replaces some attribute-macros with the attributes themselves. Removes the `PIKA_RUNTIME_INSTANCE_LIMIT` macro as it's unused.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
bors bot added a commit that referenced this issue Feb 23, 2023
607: Clean up `hardware` module r=msimberg a=msimberg

Part of #16.

This moves the `timestamp` functionality to the `timing` module, and removes the unused `bit_manipulation.hpp` header. This leaves nothint in the `hardware` module, so it is removed.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
@aurianer aurianer modified the milestones: 0.13.0, 0.14.0 Mar 8, 2023
bors bot added a commit that referenced this issue Mar 27, 2023
625: Clean up schedulers module r=msimberg a=aurianer

Fixes partially #16.

Co-authored-by: aurianer <aurianer@cscs.ch>
bors bot added a commit that referenced this issue Mar 27, 2023
625: Clean up schedulers module r=msimberg a=aurianer

Fixes partially #16.

Co-authored-by: aurianer <aurianer@cscs.ch>
@msimberg msimberg modified the milestones: 0.14.0, 0.15.0 Mar 28, 2023
bors bot added a commit that referenced this issue Mar 28, 2023
633: Move `ini` module functionality into detail namespace r=msimberg a=msimberg

Part of #16.

Also move section member functions into cpp file.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
bors bot added a commit that referenced this issue Mar 28, 2023
631: Clean up the `hashing` module r=msimberg a=msimberg

Part of #16.

632: Clean up `include` module r=msimberg a=msimberg

Part of #16.

Remove includes that contain detail-only functionality from e.g. `pika/functional.hpp`. Replace includes of `pika/functional.hpp` with more specific includes when required for detail functionality.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
bors bot added a commit that referenced this issue Mar 28, 2023
628: Miscellaneous cleanup of debug print macros r=msimberg a=msimberg

- Rename macros to be prefixed by `PIKA_DETAIL`
- Remove unnecessary casts in debug print macro calls
- Add note about meaning of detail to README

634: Clean up `init_runtime` module r=msimberg a=msimberg

Part of #16.

Move functionality into `detail` namespace, move functions into cpp files.

638: Fix option description for `PIKA_WITH_THREAD_DEBUG_INFO` r=msimberg a=msimberg

The option is not implicitly enabled in debug builds.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
bors bot added a commit that referenced this issue Mar 28, 2023
634: Clean up `init_runtime` module r=msimberg a=msimberg

Part of #16.

Move functionality into `detail` namespace, move functions into cpp files.

638: Fix option description for `PIKA_WITH_THREAD_DEBUG_INFO` r=msimberg a=msimberg

The option is not implicitly enabled in debug builds.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
bors bot added a commit that referenced this issue Mar 28, 2023
634: Clean up `init_runtime` module r=msimberg a=msimberg

Part of #16.

Move functionality into `detail` namespace, move functions into cpp files.

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
@msimberg msimberg modified the milestones: 0.15.0, 0.16.0 May 2, 2023
@msimberg msimberg added priority: low Nice to have, but nobody is going to be sad if this is never done. and removed priority: medium This should be done sooner or later. labels May 4, 2023
bors bot added a commit that referenced this issue May 4, 2023
673: Clean up properties module r=msimberg a=aurianer

Fixes partially #16

Co-authored-by: aurianer <aurianer@cscs.ch>
bors bot added a commit that referenced this issue May 5, 2023
673: Clean up properties module r=aurianer a=aurianer

Fixes partially #16

Co-authored-by: aurianer <aurianer@cscs.ch>
@msimberg msimberg modified the milestones: 0.16.0, 0.17.0 May 30, 2023
@msimberg msimberg removed this from the 0.17.0 milestone Jun 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort: 3 A few days of work. effort: 4 A few weeks of work. priority: low Nice to have, but nobody is going to be sad if this is never done. type: refactoring
Projects
Development

No branches or pull requests

2 participants