QuantumATK Forum

QuantumATK => General Questions and Answers => Topic started by: ams_nanolab on November 3, 2015, 10:29

Title: Setting parallel in Job manager?
Post by: ams_nanolab on November 3, 2015, 10:29
I have a license for 4 nodes (1 master, 3 slave). However the system is a local one (2xCPU - 12 cores each).

 Is it possible to set from the job manager by default that all my calculations use the full number of nodes.

In short in-stead of doing 'mpiexec -n 4 ...' each time , can I config somehow the job manager to do it for me?
Title: Re: Setting parallel in Job manager?
Post by: Anders Blom on November 3, 2015, 12:15
First, it is not correct to say you have a license for 4 nodes if you have 1 master and 3 slaves. What you have, is a license for 4 MPI processes, and you can't go above that.

Yes, you can configure the Job Manager (local) to run mpiexec for you, by adding a new machine, specifying the number of MPIs, and the path to mpiexec. Since you have more cores than MPIs, you can also try to let each MPI process thread to max 3 cores using MKL_NUM_THREADS=3, but benchmark that first to ensure it doesn't destroy the parallel performance.
Title: Re: Setting parallel in Job manager?
Post by: ams_nanolab on November 4, 2015, 06:18
Should I go for MKL dynamic option?? Also once I have set no of MKL threads =3 how to reset that to default value from command line??
Title: Re: Setting parallel in Job manager?
Post by: Anders Blom on November 4, 2015, 08:05
Typically it's better to set a specific number of threads, rather than use the dynamic option.

The settings made in the Job Manager only apply to the current job, it doesn't modify you system.
Title: Re: Setting parallel in Job manager?
Post by: ams_nanolab on November 4, 2015, 10:12
Thanks but what about if I make settings from the command line export MKL_NUM_THREADS=3 , does it affect the system or it lasts as long as the terminal is open?
Title: Re: Setting parallel in Job manager?
Post by: Anders Blom on November 4, 2015, 11:21
Current terminal only.
Title: Re: Setting parallel in Job manager?
Post by: ams_nanolab on November 4, 2015, 17:29
Thanks  :) :D
Title: Re: Setting parallel in Job manager?
Post by: moj20062001 on December 17, 2015, 12:35
thanks all for your helpful questions and answers... I'm new to ATK and to the Paralleling jobs...
I have a question please, if you can guide me:
- I have a corei7 system with 15GB RAM and want to use all cores for calculations:
1- beside installing the ATK 2015, should I install any other software or library to run in multi threads?!
2- how should I use ATK Job manager to achieve multi-threading?
3- Am I right in this way?! I mean, just threading is OK?! no mpiexec needed to use a corei7?!

"Thanks so much for your help"
Title: Re: Setting parallel in Job manager?
Post by: Jess Wellendorff on December 21, 2015, 10:19
ATK ships with an MPI executable. The Job Manager uses this for MPI parallelization. After sending your script to the Job Manager, you can edit the job settings, and choose between
- Serial (no threading, no MPI)
- Threaded parallel (single process with threading)
- Multiprocess parallel (MPI + threading, you can manually choose how many MPI processes to start)
Title: Re: Setting parallel in Job manager?
Post by: Jess Wellendorff on December 21, 2015, 10:40
So, it's not quite true that ATK ships MPI. You need to install that yourself: http://docs.quantumwise.com/tutorials/mpi_atk.html (http://docs.quantumwise.com/tutorials/mpi_atk.html).
Title: Re: Setting parallel in Job manager?
Post by: Anders Blom on February 14, 2016, 22:07
ATK does ship with an MPI executable but it's not used automatically by the Job Manager. And, you need to install and start the smpd service manually. So, it's probably easier to follow the more detailed official instructions from MPICH2.