Re: [firedrake] parallelization
Hi Francis, We do not support threads, just processes via MPI. What you see is odd, at least to me. So, you're saying that if you run htop, or top, from another shell, you see 1 instance of "python firedrake" taking up 3200% of the CPU (this includes hyperthreads, apparently), arent' you ? What happens if instead you try to run with mpirun ? Can you paste your program somewhere ? -- Fabio 2016-04-26 11:48 GMT+01:00 Francis Poulin <fpoulin@uwaterloo.ca>:
Dear Andrew,
Thanks for the response.
Sorry. When I said job.py I meant any "normal" firedrake script. When I run my job on my mac using just python it does run in serial and I have tested that I can use mpirun to run it in parallel. This is what I expected. It is on my ubuntu machine that it seems to take up 32 cores even though I just used python, not mpirun. I wonder whether it might be using threads instead of cores?
I have not tried mpirun on this machine yet but I can easily do that. I am curious to better learn how efficient the parallelization is so I plan to do tests for different numbers of cores.
Best regards, Francis
------------------ Francis Poulin Associate Professor Department of Applied Mathematics University of Waterloo
email: fpoulin@uwaterloo.ca Web: https://uwaterloo.ca/poulin-research-group/ Telephone: +1 519 888 4567 x32637
------------------------------ *From:* firedrake-bounces@imperial.ac.uk [firedrake-bounces@imperial.ac.uk] on behalf of Andrew McRae [A.T.T.McRae@bath.ac.uk] *Sent:* Tuesday, April 26, 2016 6:25 AM *To:* firedrake@imperial.ac.uk *Subject:* Re: [firedrake] parallelization
Dear Francis,
What is job.py? If it is a "normal" firedrake script then approach 1) will not be running in parallel. If it is a python script that executes "mpirun -n 16 python simulation.py", on the other hand...
Best, Andrew
On 25 April 2016 at 18:59, Francis Poulin <fpoulin@uwaterloo.ca> wrote:
Hello,
So far I have only been running firedrake runs using
python job.py
and I thought it was in serial.
I just tried a run with a higher resolution on my dell that has 2x8 cores and it seems to be using nearly 32,000% of my cpu. I am very happy to know that it is parallelizing automatically, it makes my life a lot easier but I have two questions.
1) What kind of parallelization is it using? From the high percentage it seems like it's threaded but not sure how to check.
2) Is there any advantage to running
mpirun -np 16 python job.py
versus doing the more simple execution above?
If not I will continue doing the simple approach.
Cheers, Francis
------------------ Francis Poulin Associate Professor Department of Applied Mathematics University of Waterloo
email: fpoulin@uwaterloo.ca Web: https://uwaterloo.ca/poulin-research-group/ Telephone: +1 519 888 4567 x32637
participants (1)
- 
                
                Fabio Luporini