Skip to content

Distributed support#47

Open
constracktor wants to merge 27 commits into
SC-SGS:mainfrom
constracktor:distributed
Open

Distributed support#47
constracktor wants to merge 27 commits into
SC-SGS:mainfrom
constracktor:distributed

Conversation

@constracktor

@constracktor constracktor commented Jun 23, 2026

Copy link
Copy Markdown
Member

This PR extends the GPRat::core target to:

  • include HPX actions for all operations that need to be distributed
  • classes and helpers for a distributed tiled GP dataset
  • a generic distributed scheduling framework
  • an example app for using the distributed API
  • caching for dataset tiles
  • performance counters for distributed actions / caches

timniederhausen and others added 27 commits June 23, 2026 15:00
from 6b575523ce838fc13517d1a8021ce4883efc29c1
This is a separate commit for git's rename tracking
Now that our headers are properly namespaced, there's no need to prefix their filenames
with gp_ or end them with _c to avoid name clashes with library users.
They're not costly in terms of workflow minutes so we can just do that.
in lieu of std::vector<T> for tiles of type T.
The advantage of this is:
- tiles are easily HPX-serializable and we can put them into HPX components
- we can perhaps later add support for automatic GPU upload
Powered by HPX's performance counter library.
Since this library is only built if networking != none, guard against it being missing.
Quite a few functions took `int` parameters just to cast them to
`std::size_t` everywhere.
Extends our performance counter to track #calls and runtime.
Algorithms supporting different schedulers are templates now.
Consequently, they had to be moved from .cpp to .hpp
This is required because newer CMake versions don't support
cmake_minimum_required with minimum versions <= 3.5
Based on our shared-memory experiments.
- Add work-in-progress distributed version with HPX perf counters
- Implement local data caching for immutable tile components
- Introduce per-locality manager components
- Add cyclic Cholesky scheduler
- Refactor to new distributed data model
- Add HPX performance counters for tile cache and BLAS ops
- Use modules and shared_mutex for tile_holder
- Properly move distributed code from examples to core
- Use ADL lookup for scheduler customization points
This was referenced Jun 23, 2026
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.

2 participants