GetFEM  5.4.2
getfem_omp.h File Reference

Tools for multithreaded, OpenMP and Boost based parallelization. More...

#include <atomic>
#include <memory>
#include <set>
#include <vector>
#include "bgeot_config.h"

Go to the source code of this file.


struct  getfem::true_thread_policy
 Thread policy, where partitioning is based on true threads. More...
struct  getfem::global_thread_policy
 Thread policy, regulated by partition_master (can be true thread- or partition-based) More...
class  getfem::detail::omp_distribute_impl< std::vector< T >, thread_policy, vector_tag >
 Specialization for std::vector<T>, adds vector indexing operator. More...
class  getfem::detail::omp_distribute_impl< bool, thread_policy, bool_tag >
 Specialization for bool, to circumvent the shortcomings of standards library's specialization for std::vector<bool>, we use std::vector<int> instead. More...
class  getfem::omp_distribute< T, thread_policy >
 Use this template class for any object you want to distribute to open_MP threads. More...
class  getfem::partition_iterator
 Iterator that runs over partitions on the current thread and sets the global (but thread-specific) partition during incrementation. More...
class  getfem::partition_master
 A singleton that Manages partitions on individual threads. More...
class  getfem::parallel_boilerplate
 Encapsulates open_mp-related initialization and de-initialization. More...


 GEneric Tool for Finite Element Methods.


#define GETFEM_OMP_PARALLEL(body)   body
 Organizes a proper parallel omp section: More...


void getfem::set_num_threads (int n)
 set maximum number of OpenMP threads
bool getfem::me_is_multithreaded_now ()
 is the program running in the parallel section
bool getfem::not_multithreaded ()
 is the program is running on a single thread
size_type getfem::max_concurrency ()
 Maximum number of threads that can run concurrently.

Detailed Description

Tools for multithreaded, OpenMP and Boost based parallelization.

Andriy Andreykiv
May 14th, 2013. This is the kernel of getfem.

Definition in file getfem_omp.h.

Macro Definition Documentation


#define GETFEM_OMP_PARALLEL (   body)    body

Organizes a proper parallel omp section:

  • iteration on thread independent partitions
  • passing exceptions to the master thread
  • thread-safe locale

Definition at line 483 of file getfem_omp.h.