www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - do mir modules run in parallell

reply David <kraxli77 gmail.com> writes:
Hi

I am wondering if MIR modules run in parallel by default or if I 
can enforce it by a compiler flag?

Thanks
David
Oct 04 2019
parent reply 9il <ilyayaroshenko gmail.com> writes:
On Friday, 4 October 2019 at 20:32:59 UTC, David wrote:
 Hi

 I am wondering if MIR modules run in parallel by default or if 
 I can enforce it by a compiler flag?

 Thanks
 David
Hey David, Do you mean unittests run in parallel or mir algorithms themselves run in parallel? Ilya
Oct 04 2019
parent reply David <kraxli77 gmail.com> writes:
On Saturday, 5 October 2019 at 04:38:34 UTC, 9il wrote:
 On Friday, 4 October 2019 at 20:32:59 UTC, David wrote:
 Hi

 I am wondering if MIR modules run in parallel by default or if 
 I can enforce it by a compiler flag?

 Thanks
 David
Hey David, Do you mean unittests run in parallel or mir algorithms themselves run in parallel? Ilya
Hi Ilya Thanks for coming back on this and sorry for not being precise. I am wondering about the Mir algorithms. David
Oct 05 2019
parent reply 9il <ilyayaroshenko gmail.com> writes:
On Saturday, 5 October 2019 at 14:51:03 UTC, David wrote:
 On Saturday, 5 October 2019 at 04:38:34 UTC, 9il wrote:
 On Friday, 4 October 2019 at 20:32:59 UTC, David wrote:
 Hi

 I am wondering if MIR modules run in parallel by default or 
 if I can enforce it by a compiler flag?

 Thanks
 David
Hey David, Do you mean unittests run in parallel or mir algorithms themselves run in parallel? Ilya
Hi Ilya Thanks for coming back on this and sorry for not being precise. I am wondering about the Mir algorithms. David
mir-blas, mir-lapack, and lubeck parallelism depend on system BLAS/LAPACK library (OpenBLAS, Intel MKL, or Accelerate Framework for macos). mir-optim by default single thread but can use TaskPool from D standard library as well as user-defined thread pools. mir-random was created for multithread programs, check the documentation for a particular engine. The general idea is that each thread has its own engine. Other libraries are single thread but can be used in multithread programs with Phobos threads or other thread libraries. Best, Ilya
Oct 05 2019
parent David <kraxli77 gmail.com> writes:
On Sunday, 6 October 2019 at 05:32:34 UTC, 9il wrote:
 mir-blas, mir-lapack, and lubeck parallelism depend on system 
 BLAS/LAPACK library (OpenBLAS, Intel MKL, or Accelerate 
 Framework for macos).

 mir-optim by default single thread but can use TaskPool from D 
 standard library as well as user-defined thread pools.

 mir-random was created for multithread programs, check the 
 documentation for a particular engine. The general idea is that 
 each thread has its own engine.

 Other libraries are single thread but can be used in 
 multithread programs with Phobos threads or other thread 
 libraries.

 Best,
 Ilya
thanks! I will try it out accordingly. Bests, David
Oct 06 2019