Manicore
Library to implement schemes on n-dimensionnal manifolds.
|
Helper to parallelize operations using pthreads. More...
#include <thread>
#include <forward_list>
#include <Eigen/Sparse>
Go to the source code of this file.
Namespaces | |
Manicore | |
Functions | |
static std::pair< std::vector< int >, std::vector< int > > | Manicore::distributeLoad (size_t nb_elements, unsigned nb_threads) |
Function to distribute elements (considered as jobs) over threads. It returns a pair of vectors indicating the start and end element of each thread. More... | |
static void | Manicore::parallel_for (unsigned nb_elements, std::function< void(size_t start, size_t end)> functor, bool use_threads=true) |
Generic function to execute threaded processes. More... | |
template<typename FType > | |
Eigen::SparseMatrix< double > | Manicore::parallel_assembly (size_t nb_elements, std::pair< size_t, size_t > systemSize, FType localAssembly, bool use_threads=true) |
Function to assemble a global sparse matrix from a procedure that compute local contributions. More... | |
Helper to parallelize operations using pthreads.