bm::compute_sim_matrix_plan_builder< BV > Class Template Reference
BitMagic Library » Task parallel programming

Parallel plan builder for the XOR filter scanner. More...

`#include <bmsparsevec_parallel.h>`

## Data Structures

struct | task_batch

## Public Types

typedef BV | bvector_type
typedef BV::size_type | size_type
typedef bvector_type::allocator_type | allocator_type
typedef bm::bv_ref_vector< BV > | bv_ref_vector_type

## Public Member Functions

void | build_plan (task_batch &batch, bm::xor_sim_model< BV > &sim_model, const bv_ref_vector_type &ref_vect, const bm::xor_sim_params &xs_params)
| Construct task batch for parallel execution.

## Detailed Description

template<typename BV>
class bm::compute_sim_matrix_plan_builder< BV >

Parallel plan builder for the XOR filter scanner.

Parallelization principle here is based on makig a task per 64K bit block (task per NP)

Definition at line 103 of file bmsparsevec_parallel.h.

## Member Typedef Documentation

## allocator_type

template<typename BV>

typedef bvector_type::allocator_type bm::compute_sim_matrix_plan_builder< BV >::allocator_type

Definition at line 108 of file bmsparsevec_parallel.h.

## bv_ref_vector_type

template<typename BV>

typedef bm::bv_ref_vector<BV> bm::compute_sim_matrix_plan_builder< BV >::bv_ref_vector_type

Definition at line 109 of file bmsparsevec_parallel.h.

## bvector_type

template<typename BV>

typedef BV bm::compute_sim_matrix_plan_builder< BV >::bvector_type

Definition at line 106 of file bmsparsevec_parallel.h.

## size_type

template<typename BV>

typedef BV::size_type bm::compute_sim_matrix_plan_builder< BV >::size_type

Definition at line 107 of file bmsparsevec_parallel.h.

## Member Function Documentation

## build_plan()

template<typename BV>

void bm::compute_sim_matrix_plan_builder< BV >::build_plan | ( | task_batch & | batch,
|  | bm::xor_sim_model< BV > & | sim_model,
|  | const bv_ref_vector_type & | ref_vect,
|  | const bm::xor_sim_params & | xs_params )

inline

Construct task batch for parallel execution.

(Every task is a lambda).

Definition at line 121 of file bmsparsevec_parallel.h.

References bm::task_batch< BVAlloc >::add(), bm::bv_ref_vector< BV >::build_nb_digest_and_xor_matrix(), bm::xor_sim_model< BV >::bv_blocks, bm::xor_scanner< BV >::compute_sim_model(), bm::task_batch< BVAlloc >::get_task_vector(), bm::xor_sim_model< BV >::matr, bm::xor_scanner< BV >::set_ref_vector(), bm::xor_scanner< BV >::sync_nb_vect(), and bm::bvector< Alloc >::iterator_base::valid().

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

- bmsparsevec_parallel.h