tlx
Loading...
Searching...
No Matches
PS5Context< Parameters > Class Template Reference

Parallel Super Scalar String Sample Sort Context. More...

#include <parallel_sample_sort.hpp>

Inheritance diagram for PS5Context< Parameters >:

Public Member Functions

 PS5Context (size_t _thread_num)
 context constructor
template<typename StringPtr>
void enqueue (PS5SortStep *sstep, const StringPtr &strptr, size_t depth)
 enqueue a new job in the thread pool
size_t sequential_threshold ()
 return sequential sorting threshold
void donesize (size_t n)
 decrement number of unordered strings

Public Attributes

size_t total_size
 total size of input
std::atomic< size_t > rest_size
 number of remaining strings to sort
std::atomic< size_t > para_ss_steps
 counters
std::atomic< size_t > sequ_ss_steps
std::atomic< size_t > base_sort_steps
MultiTimer mtimer
 timers for individual sorting steps
size_t num_threads
 number of threads overall
ThreadPool threads_
 thread pool

Detailed Description

template<typename Parameters>
class tlx::sort_strings_detail::PS5Context< Parameters >

Parallel Super Scalar String Sample Sort Context.

Definition at line 95 of file parallel_sample_sort.hpp.

Constructor & Destructor Documentation

◆ PS5Context()

template<typename Parameters>
PS5Context ( size_t _thread_num)
inline

context constructor

Definition at line 117 of file parallel_sample_sort.hpp.

Member Function Documentation

◆ donesize()

template<typename Parameters>
void donesize ( size_t n)
inline

decrement number of unordered strings

Definition at line 139 of file parallel_sample_sort.hpp.

◆ enqueue()

template<typename Parameters>
template<typename StringPtr>
void enqueue ( PS5SortStep * sstep,
const StringPtr & strptr,
size_t depth )

enqueue a new job in the thread pool

Definition at line 1395 of file parallel_sample_sort.hpp.

◆ sequential_threshold()

template<typename Parameters>
size_t sequential_threshold ( )
inline

return sequential sorting threshold

Definition at line 128 of file parallel_sample_sort.hpp.

Member Data Documentation

◆ base_sort_steps

template<typename Parameters>
std::atomic<size_t> base_sort_steps

Definition at line 105 of file parallel_sample_sort.hpp.

◆ mtimer

template<typename Parameters>
MultiTimer mtimer

timers for individual sorting steps

Definition at line 108 of file parallel_sample_sort.hpp.

◆ num_threads

template<typename Parameters>
size_t num_threads

number of threads overall

Definition at line 111 of file parallel_sample_sort.hpp.

◆ para_ss_steps

template<typename Parameters>
std::atomic<size_t> para_ss_steps

counters

Definition at line 105 of file parallel_sample_sort.hpp.

◆ rest_size

template<typename Parameters>
std::atomic<size_t> rest_size

number of remaining strings to sort

Definition at line 102 of file parallel_sample_sort.hpp.

◆ sequ_ss_steps

template<typename Parameters>
std::atomic<size_t> sequ_ss_steps

Definition at line 105 of file parallel_sample_sort.hpp.

◆ threads_

template<typename Parameters>
ThreadPool threads_

thread pool

Definition at line 114 of file parallel_sample_sort.hpp.

◆ total_size

template<typename Parameters>
size_t total_size

total size of input

Definition at line 99 of file parallel_sample_sort.hpp.


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