J'essaie de paralléliser mon programme en utilisant OpenMP et j'ai parfois l'impression d'être dans une impasse.
Je voudrais partager des variables dans une fonction membre que j'ai définie (et initialisée) dans la classe. Si j'ai bien compris, il n'est pas possible de faire ce qui suit #pragma omp parallel shared(foo)
de membres de données (par exemple int
, boost::multi_array
y std::vector
) d'une classe. Par exemple : utilisation de push_back() sur un membre de données vectorielles dans la classe. la mise à jour des valeurs d'un boost::multi_array
.
Ma question est de savoir si OpenMP est le bon outil pour cela, ou si je dois utiliser boost::thread ou tbb ? ou quelque chose d'autre... quel support pour l'API C++ ?
Reagrds