From 31b661e4cad656611c322e7b61ad7b5e83c62207 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Mon, 23 Nov 2015 13:28:43 +0100 Subject: Add a note on initParallel being optional in C++11. --- doc/TopicMultithreading.dox | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/TopicMultithreading.dox') diff --git a/doc/TopicMultithreading.dox b/doc/TopicMultithreading.dox index 95f6bf287..47c9b261f 100644 --- a/doc/TopicMultithreading.dox +++ b/doc/TopicMultithreading.dox @@ -43,6 +43,8 @@ int main(int argc, char** argv) } \endcode +\note With Eigen 3.3, and a fully C++11 compliant compiler (i.e., thread-safe static local variable initialization), then calling \c initParallel() is optional. + \warning note that all functions generating random matrices are \b not re-entrant nor thread-safe. Those include DenseBase::Random(), and DenseBase::setRandom() despite a call to Eigen::initParallel(). This is because these functions are based on std::rand which is not re-entrant. For thread-safe random generator, we recommend the use of boost::random or c++11 random feature. In the case your application is parallelized with OpenMP, you might want to disable Eigen's own parallization as detailed in the previous section. -- cgit v1.2.3