Conversation
322fa64 to
6c8e02d
Compare
2cdbb07 to
eac10ed
Compare
|
Open questions from meeting Tue Feb 25, 11:00 EST
Idea for API: blk_t {
char * ptr;
size_t s;
window* win;
}
handle_heap {
blk_t blk;
requires ...
window *win() { return blk.win; }
}
shared_array {
handle_heap sto;
void fence() { sto.win->fence(); }
} |
TODO: Expose userdata from the handles Co-authored-by: Mohamed Aziz Bellaaj <aziiizbelaj@gmail.com>
|
Currently The template <typename T, Allocator A = mallocator<>>
struct handle_heap {but template <typename T, AddressSpace AdrSp = Host>
struct handle_borrowed {
private:
using T0 = std::remove_const_t<T>;
handle_heap<T0> const *_parent = nullptr;
/* ... omitted ... */
template <Handle H>
requires(address_space == H::address_space and (std::is_const_v<value_type> or !std::is_const_v<typename H::value_type>)
and std::is_same_v<const value_type, const typename H::value_type>)
handle_borrowed(H const &h, long offset = 0) noexcept : _data(h.data() + offset) {
if constexpr (std::is_same_v<H, handle_heap<T0>>) _parent = &h;
}This is a bit problematic, because it means that creating a Thus getting the |
…zation + tests + documentation
…ts for mpi_shared
…ete mpi_shm_allocator
No description provided.