| Thrill
    0.1
    | 
PS5BigSortStep Out-of-Place Parallel Sample Sort with Separate Jobs.
Definition at line 1096 of file parallel_sample_sort.hpp.
 Inheritance diagram for PS5BigSortStep< Context, StringPtr >:
 Inheritance diagram for PS5BigSortStep< Context, StringPtr >: Collaboration diagram for PS5BigSortStep< Context, StringPtr >:
 Collaboration diagram for PS5BigSortStep< Context, StringPtr >:#include <parallel_sample_sort.hpp>
| Public Types | |
| typedef Context::key_type | key_type | 
| typedef StringPtr::StringSet | StringSet | 
| typedef StringSet::Iterator | StrIterator | 
| Public Member Functions | |
| PS5BigSortStep (Context &ctx, PS5SortStep *pstep, const StringPtr &strptr, size_t depth) | |
| virtual | ~PS5BigSortStep () | 
| void | count (unsigned int p) | 
| void | count_finished () | 
| void | distribute (unsigned int p) | 
| void | distribute_finished () | 
| void | sample () | 
| void | substep_all_done () final | 
| Pure virtual function called by substep when all substeps are done.  More... | |
|  Public Member Functions inherited from PS5SortStep | |
| void | substep_notify_done () | 
| Notify superstep that the currently substep is done.  More... | |
| Public Attributes | |
| simple_vector< simple_vector< size_t > > | bkt_ | 
| individual bucket array of threads, keep bkt[0] for DistributeJob  More... | |
| simple_vector< simple_vector< uint16_t > > | bktcache_ | 
| bucket ids cache, created by classifier and later counted  More... | |
| Context::Classify | classifier_ | 
| classifier instance and variables (contains splitter tree  More... | |
| Context & | ctx_ | 
| context  More... | |
| size_t | depth_ | 
| size_t | parts_ | 
| number of parts into which the strings were split  More... | |
| size_t | psize_ | 
| size of all parts except the last  More... | |
| PS5SortStep * | pstep_ | 
| parent sort step for notification  More... | |
| std::atomic< size_t > | pwork_ | 
| number of threads still working  More... | |
| unsigned char | splitter_lcp_ [num_splitters_+1] | 
| LCPs of splitters, needed for recursive calls.  More... | |
| StringPtr | strptr_ | 
| string pointers, size, and current sorting depth  More... | |
| Static Public Attributes | |
| static const size_t | bktnum_ = 2 * num_splitters_ + 1 | 
| static const size_t | num_splitters_ = Context::Classify::num_splitters | 
| static const size_t | treebits_ = Context::Classify::treebits | 
| Additional Inherited Members | |
|  Protected Member Functions inherited from PS5SortStep | |
| PS5SortStep () | |
| virtual | ~PS5SortStep () | 
| void | substep_add () | 
| Register new substep.  More... | |
| typedef Context::key_type key_type | 
Definition at line 1101 of file parallel_sample_sort.hpp.
| typedef StringPtr::StringSet StringSet | 
Definition at line 1099 of file parallel_sample_sort.hpp.
| typedef StringSet::Iterator StrIterator | 
Definition at line 1100 of file parallel_sample_sort.hpp.
| 
 | inline | 
Definition at line 1137 of file parallel_sample_sort.hpp.
References SimpleVector< ValueType, Mode >::resize(), StringPtr< StringSet_ >::size(), and TLX_LOGC.
| 
 | inlinevirtual | 
Definition at line 1160 of file parallel_sample_sort.hpp.
| 
 | inline | 
Definition at line 1196 of file parallel_sample_sort.hpp.
References StringPtr< StringSet_ >::active(), SimpleVector< ValueType, Mode >::data(), min(), SimpleVector< ValueType, Mode >::resize(), StringPtr< StringSet_ >::size(), and TLX_LOGC.
| 
 | inline | 
Definition at line 1221 of file parallel_sample_sort.hpp.
References StringPtr< StringSet_ >::size(), and TLX_LOGC.
| 
 | inline | 
Definition at line 1248 of file parallel_sample_sort.hpp.
References StringPtr< StringSet_ >::active(), SimpleVector< ValueType, Mode >::data(), SimpleVector< ValueType, Mode >::destroy(), min(), StringPtr< StringSet_ >::size(), and TLX_LOGC.
| 
 | inline | 
Definition at line 1277 of file parallel_sample_sort.hpp.
References SimpleVector< ValueType, Mode >::data(), SimpleVector< ValueType, Mode >::destroy(), StringPtr< StringSet_ >::fill_lcp(), tlx::sort_strings_detail::lcpKeyDepth(), StringPtr< StringSet_ >::size(), TLX_LOGC, and StringPtr< StringSet_ >::with_lcp.
| 
 | inline | 
Definition at line 1165 of file parallel_sample_sort.hpp.
References StringPtr< StringSet_ >::active(), SimpleVector< ValueType, Mode >::begin(), SimpleVector< ValueType, Mode >::data(), SimpleVector< ValueType, Mode >::end(), and TLX_LOGC.
| 
 | inlinefinalvirtual | 
Pure virtual function called by substep when all substeps are done.
Implements PS5SortStep.
Definition at line 1373 of file parallel_sample_sort.hpp.
References SimpleVector< ValueType, Mode >::data(), SimpleVector< ValueType, Mode >::destroy(), PS5SortStep::substep_notify_done(), TLX_LOGC, and StringPtr< StringSet_ >::with_lcp.
| simple_vector<simple_vector<size_t> > bkt_ | 
individual bucket array of threads, keep bkt[0] for DistributeJob
Definition at line 1130 of file parallel_sample_sort.hpp.
| simple_vector<simple_vector<uint16_t> > bktcache_ | 
bucket ids cache, created by classifier and later counted
Definition at line 1132 of file parallel_sample_sort.hpp.
| 
 | static | 
Definition at line 1124 of file parallel_sample_sort.hpp.
| Context::Classify classifier_ | 
classifier instance and variables (contains splitter tree
Definition at line 1120 of file parallel_sample_sort.hpp.
| Context& ctx_ | 
context
Definition at line 1104 of file parallel_sample_sort.hpp.
| size_t depth_ | 
Definition at line 1110 of file parallel_sample_sort.hpp.
| 
 | static | 
Definition at line 1123 of file parallel_sample_sort.hpp.
| size_t parts_ | 
number of parts into which the strings were split
Definition at line 1113 of file parallel_sample_sort.hpp.
| size_t psize_ | 
size of all parts except the last
Definition at line 1115 of file parallel_sample_sort.hpp.
| PS5SortStep* pstep_ | 
parent sort step for notification
Definition at line 1106 of file parallel_sample_sort.hpp.
| std::atomic<size_t> pwork_ | 
number of threads still working
Definition at line 1117 of file parallel_sample_sort.hpp.
| unsigned char splitter_lcp_[num_splitters_+1] | 
LCPs of splitters, needed for recursive calls.
Definition at line 1127 of file parallel_sample_sort.hpp.
| StringPtr strptr_ | 
string pointers, size, and current sorting depth
Definition at line 1109 of file parallel_sample_sort.hpp.
| 
 | static | 
Definition at line 1122 of file parallel_sample_sort.hpp.