libfaster API Documentation  Development Version
Super fast distributted computing
Bulk Operator Variants

Description

A variant of original operators that receive multiple entries of a dataset at the same time.

Bulk operators use user functions that can access multiple entries of the local dataset at the same time U F(T*, size_t).

Parameters
K- Key type of the created dataset
T- Value type of the source dataset
L- Key type of the created dataset
U- Value type of the created dataset
funcP- A function pointer of a user function U F(T&) that will be used on each dataset entry
Returns
A pointer to a new dataset

Functions

template<typename U >
fdd< U > * faster::fdd< T >::bulkMap (bulkMapFunctionP< T, U > funcP)
 creates a fdd<U>
 
template<typename U >
fdd< U > * faster::fdd< T >::bulkMap (PbulkMapFunctionP< T, U > funcP)
 creates a fdd<U *>
 
template<typename L , typename U >
indexedFdd< L, U > * faster::fdd< T >::bulkMap (IbulkMapFunctionP< T, L, U > funcP)
 creates a indexedFdd<L,U>
 
template<typename L , typename U >
indexedFdd< L, U > * faster::fdd< T >::bulkMap (IPbulkMapFunctionP< T, L, U > funcP)
 creates a indexedFdd<L,U*>
 
template<typename U >
fdd< U > * faster::fdd< T >::bulkFlatMap (bulkFlatMapFunctionP< T, U > funcP)
 creates a fdd<U>
 
template<typename U >
fdd< U > * faster::fdd< T >::bulkFlatMap (PbulkFlatMapFunctionP< T, U > funcP)
 creates a fdd<U *>
 
template<typename L , typename U >
indexedFdd< L, U > * faster::fdd< T >::bulkFlatMap (IbulkFlatMapFunctionP< T, L, U > funcP)
 creates a indexedFdd<L,U>
 
template<typename L , typename U >
indexedFdd< L, U > * faster::fdd< T >::bulkFlatMap (IPbulkFlatMapFunctionP< T, L, U > funcP)
 creates a indexedFdd<L,U*>
 
faster::fdd< T >::bulkReduce (bulkReduceFunctionP< T > funcP)
 summarizes a fdd<T> into a single value of type T using a bulk function T F(T,T)
 
template<typename L , typename U >
indexedFdd< L, U > * faster::indexedFdd< K, T >::bulkMap (IbulkMapIFunctionP< K, T, L, U > funcP)
 creates a indexedFdd<L,U>
 
template<typename L , typename U >
indexedFdd< L, U > * faster::indexedFdd< K, T >::bulkMap (IPbulkMapIFunctionP< K, T, L, U > funcP)
 creates a indexedFdd<L,U*>
 
template<typename L , typename U >
fdd< U > * faster::indexedFdd< K, T >::bulkMap (bulkMapIFunctionP< K, T, U > funcP)
 creates a fdd<U>
 
template<typename L , typename U >
fdd< U > * faster::indexedFdd< K, T >::bulkMap (PbulkMapIFunctionP< K, T, U > funcP)
 creates a fdd<U *>
 
template<typename L , typename U >
indexedFdd< L, U > * faster::indexedFdd< K, T >::bulkFlatMap (IbulkFlatMapIFunctionP< K, T, L, U > funcP)
 creates a indexedFdd<L,U>
 
template<typename L , typename U >
indexedFdd< L, U > * faster::indexedFdd< K, T >::bulkFlatMap (IPbulkFlatMapIFunctionP< K, T, L, U > funcP)
 creates a indexedFdd<L,U*>
 
template<typename L , typename U >
fdd< U > * faster::indexedFdd< K, T >::bulkFlatMap (bulkFlatMapIFunctionP< K, T, U > funcP)
 creates a fdd<U>
 
template<typename L , typename U >
fdd< U > * faster::indexedFdd< K, T >::bulkFlatMap (PbulkFlatMapIFunctionP< K, T, U > funcP)
 creates a fdd<U *>
 
std::pair< K, T > faster::indexedFdd< K, T >::bulkReduce (IbulkReduceIFunctionP< K, T > funcP)
 summarizes a fdd<K,T> into a single value of type T using a bulk function pair<K,T> F(K, T, K, T)
 

Typedefs

template<typename T , typename U >
using faster::bulkMapFunctionP = void(*)(U *output, T *input, size_t size)
 
template<typename T , typename L , typename U >
using faster::IbulkMapFunctionP = void(*)(L *outKey, U *output, T *input, size_t size)
 
template<typename T , typename U >
using faster::PbulkMapFunctionP = void(*)(U *output, size_t *outputDataSizes, T *input, size_t size)
 
template<typename T , typename L , typename U >
using faster::IPbulkMapFunctionP = void(*)(L *outKey, U *output, size_t *outputDataSizes, T *input, size_t size)
 
template<typename T , typename U >
using faster::bulkFlatMapFunctionP = void(*)(U *&output, size_t &outputSize, T *input, size_t size)
 
template<typename T , typename L , typename U >
using faster::IbulkFlatMapFunctionP = void(*)(L *&outKey, U *&output, size_t &outputSize, T *input, size_t size)
 
template<typename T , typename U >
using faster::PbulkFlatMapFunctionP = void(*)(U *&output, size_t *&outputDataSizes, size_t &outputSize, T *input, size_t size)
 
template<typename T , typename L , typename U >
using faster::IPbulkFlatMapFunctionP = void(*)(L *&outKey, U *&output, size_t *&outputDataSizes, size_t &outputSize, T *input, size_t size)
 
template<typename T >
using faster::bulkReduceFunctionP = T(*)(T *input, size_t size)
 
template<typename T , typename U >
using faster::bulkMapPFunctionP = void(*)(U *output, T **input, size_t *inputDataSizes, size_t size)
 
template<typename T , typename L , typename U >
using faster::IbulkMapPFunctionP = void(*)(L *outKey, U *output, T **input, size_t *inputDataSizes, size_t size)
 
template<typename T , typename U >
using faster::PbulkMapPFunctionP = void(*)(U *output, size_t *outputDataSizes, T **input, size_t *inputDataSizes, size_t size)
 
template<typename T , typename L , typename U >
using faster::IPbulkMapPFunctionP = void(*)(L *outKey, U *output, size_t *outputDataSizes, T **input, size_t *inputDataSizes, size_t size)
 
template<typename T , typename U >
using faster::bulkFlatMapPFunctionP = void(*)(U *&output, size_t &outputSize, T **input, size_t *inputDataSizes, size_t size)
 
template<typename T , typename L , typename U >
using faster::IbulkFlatMapPFunctionP = void(*)(L *&outKey, U *&output, size_t &outputSize, T **input, size_t *inputDataSizes, size_t size)
 
template<typename T , typename U >
using faster::PbulkFlatMapPFunctionP = void(*)(U *&output, size_t *outputDataSizes, size_t &outputSize, T **input, size_t *inputDataSizes, size_t size)
 
template<typename T , typename L , typename U >
using faster::IPbulkFlatMapPFunctionP = void(*)(L *&outKey, U *&output, size_t *outputDataSizes, size_t &outputSize, T **input, size_t *inputDataSizes, size_t size)
 
template<typename T >
using faster::PbulkReducePFunctionP = std::pair< T *, size_t >(*)(T **input, size_t *inputDataSizes, size_t size)
 
template<typename K , typename T , typename L , typename U >
using faster::IbulkMapIFunctionP = void(*)(L *outKey, U *output, K *inKey, T *input, size_t size)
 
template<typename K , typename T , typename U >
using faster::bulkMapIFunctionP = void(*)(U *output, K *inKey, T *input, size_t size)
 
template<typename K , typename T , typename L , typename U >
using faster::IPbulkMapIFunctionP = void(*)(L *outKey, U *output, size_t *outputDataSizes, K *inKey, T *input, size_t size)
 
template<typename K , typename T , typename U >
using faster::PbulkMapIFunctionP = void(*)(U *output, size_t *outputDataSizes, K *inKey, T *input, size_t size)
 
template<typename K , typename T , typename L , typename U >
using faster::IbulkFlatMapIFunctionP = void(*)(L *&outKey, U *&output, size_t &outputSize, K *inKey, T *input, size_t size)
 
template<typename K , typename T , typename U >
using faster::bulkFlatMapIFunctionP = void(*)(U *&output, size_t &outputSize, K *inKey, T *input, size_t size)
 
template<typename K , typename T , typename L , typename U >
using faster::IPbulkFlatMapIFunctionP = void(*)(L *&outKey, U *&output, size_t *&outputDataSizes, size_t &outputSize, K *inKey, T *input, size_t size)
 
template<typename K , typename T , typename U >
using faster::PbulkFlatMapIFunctionP = void(*)(U *&output, size_t *&outputDataSizes, size_t &outputSize, K *inKey, T *input, size_t size)
 
template<typename K , typename T >
using faster::IbulkReduceIFunctionP = std::pair< K, T >(*)(K *key, T *input, size_t size)
 
template<typename K , typename T , typename L , typename U >
using faster::IbulkMapIPFunctionP = void(*)(L *outKey, U *output, K *inKey, T **input, size_t *inputDataSizes, size_t size)
 
template<typename K , typename T , typename U >
using faster::bulkMapIPFunctionP = void(*)(U *output, K *inKey, T **input, size_t *inputDataSizes, size_t size)
 
template<typename K , typename T , typename L , typename U >
using faster::IPbulkMapIPFunctionP = void(*)(L *outKey, U *output, size_t *outputDataSizes, K *inKey, T **input, size_t *inputDataSizes, size_t size)
 
template<typename K , typename T , typename U >
using faster::PbulkMapIPFunctionP = void(*)(U *output, size_t *outputDataSizes, K *inKey, T **input, size_t *inputDataSizes, size_t size)
 
template<typename K , typename T , typename L , typename U >
using faster::IbulkFlatMapIPFunctionP = void(*)(L *&outKey, U *&output, size_t &outputSize, K *inKey, T **input, size_t *inputDataSizes, size_t size)
 
template<typename K , typename T , typename U >
using faster::bulkFlatMapIPFunctionP = void(*)(U *&output, size_t &outputSize, K *inKey, T **input, size_t *inputDataSizes, size_t size)
 
template<typename K , typename T , typename L , typename U >
using faster::IPbulkFlatMapIPFunctionP = void(*)(L *&outKey, U *&output, size_t *outputDataSizes, size_t &outputSize, K *inKey, T **input, size_t *inputDataSizes, size_t size)
 
template<typename K , typename T , typename U >
using faster::PbulkFlatMapIPFunctionP = void(*)(U *&output, size_t *outputDataSizes, size_t &outputSize, K *inKey, T **input, size_t *inputDataSizes, size_t size)
 
template<typename K , typename T >
using faster::IPbulkReduceIPFunctionP = std::tuple< K, T *, size_t >(*)(K *key, T **input, size_t *inputDataSizes, size_t size)
 
template<typename K >
using faster::bulkUpdateG2FunctionP = void(*)(K *keyA, void *a, size_t na, K *keyB, void *b, size_t nb)
 
template<typename K >
using faster::bulkUpdateG3FunctionP = void(*)(K *keyA, void *a, size_t na, K *keyB, void *b, size_t nb, K *keyC, void *c, size_t nc)
 
template<typename K , typename To >
using faster::bulkFlatMapG2FunctionP = std::deque< To >(*)(K *keyA, void *a, size_t na, K *keyB, void *b, size_t nb)
 
template<typename K , typename To >
using faster::bulkFlatMapG3FunctionP = std::deque< To >(*)(K *keyA, void *a, size_t na, K *keyB, void *b, size_t nb, K *keyC, void *c, size_t nc)
 
template<typename K , typename Ko , typename To >
using faster::IbulkFlatMapG2FunctionP = std::deque< std::pair< Ko, To >>(*)(K *keyA, void *a, size_t na, K *keyB, void *b, size_t nb)
 
template<typename K , typename Ko , typename To >
using faster::IbulkFlatMapG3FunctionP = std::deque< std::pair< Ko, To >>(*)(K *keyA, void *a, size_t na, K *keyB, void *b, size_t nb, K *keyC, void *c, size_t nc)