cuDDL
Loading...
Searching...
No Matches
Public Attributes | List of all members
cuddl::replica_search Struct Reference

How a replicated_database search splits and delivers its tiles. More...

Collaboration diagram for cuddl::replica_search:
[legend]

Public Attributes

all_to_all_shard shard {}
 This process's part of the pairs, when several processes share the search.
 
bool in_query_order = false
 Deliver tiles one at a time in increasing query order, for example to write output that does not depend on the device count.
 
std::function< uint64_t()> next_tile {}
 Claim tiles from a counter that several processes share instead of keeping the tiles shard assigns, so faster processes do more of the search; see all_to_all_tile_queue.
 

Detailed Description

How a replicated_database search splits and delivers its tiles.

Definition at line 40 of file replicated_database.cuh.

Member Data Documentation

◆ in_query_order

bool cuddl::replica_search::in_query_order = false

Deliver tiles one at a time in increasing query order, for example to write output that does not depend on the device count.

Each replica then waits for its turn before its callback, so callbacks no longer overlap. Not available with next_tile.

Definition at line 46 of file replicated_database.cuh.

◆ next_tile

std::function<uint64_t()> cuddl::replica_search::next_tile {}

Claim tiles from a counter that several processes share instead of keeping the tiles shard assigns, so faster processes do more of the search; see all_to_all_tile_queue.

shard.count must still give the number of processes.

Definition at line 50 of file replicated_database.cuh.

50{};

◆ shard

all_to_all_shard cuddl::replica_search::shard {}

This process's part of the pairs, when several processes share the search.

Definition at line 42 of file replicated_database.cuh.

42{};

The documentation for this struct was generated from the following file: