Difference between revisions of "Parallel Error Calculation using MPI and SLmpi"

From Remeis-Wiki
Jump to navigation Jump to search
(Created page with "=== Parallel Error Calculation with MPI and SLmpi === * For interactive error calculation in isis you can use <code>conf</code> or <code>conf_loop</code> (using Isis_Slaves.n...")
 
(Fixed link)
 
Line 6: Line 6:
 
* Requirements:       
 
* Requirements:       
 
*# SLmpi installed: [http://www.sternwarte.uni-erlangen.de/git.public/?p=slmpi.git http://www.sternwarte.uni-erlangen.de/git.public/?p=slmpi.git]
 
*# SLmpi installed: [http://www.sternwarte.uni-erlangen.de/git.public/?p=slmpi.git http://www.sternwarte.uni-erlangen.de/git.public/?p=slmpi.git]
*# A Portable Batch System (PBS), e.g., Torque (see [[torque:start|Torque]] for an Introduction)
+
*# A Portable Batch System (PBS), e.g., Torque (see [[Torque]] for an Introduction)
 
*# the Remeis-isisscripts [http://www.sternwarte.uni-erlangen.de/git.public/?p=isisscripts http://www.sternwarte.uni-erlangen.de/git.public/?p=isisscripts]
 
*# the Remeis-isisscripts [http://www.sternwarte.uni-erlangen.de/git.public/?p=isisscripts http://www.sternwarte.uni-erlangen.de/git.public/?p=isisscripts]
 
      
 
      

Latest revision as of 12:34, 21 June 2018

Parallel Error Calculation with MPI and SLmpi

  • For interactive error calculation in isis you can use conf or conf_loop (using Isis_Slaves.num_slaves+1 cores on the host machine).
  • Fast possibility: mpi_fit_pars. It's a routine in the isisscripts, which uses MPI to calculate the confidence intervals in parallel on different machines.
  • Create an isisscript to be submitted via PBS:
    1. load and group data, load best fit model
    2. call result = mpi_fit_pars([pars]);
    3. if you have the isisscripts you can store everything in a fits-file via fits_save_fit(filename,result)
  • How to start the Job on the Remeis Cluster?
    • Create a job-file with mpi-Option (e.g. by qsub_array -p %%--%%mpi file.com)
    • the Command File file.com contains the list of scripts to be executed.
    • Set nodes to the number of free parameters. (See below for an example).
#!/bin/bash 
#PBS -S /bin/bash -V 
#PBS -t 0-0\%10000 
#PBS -l nodes=11 
#PBS -l walltime=03:00:00 
#PBS -N file.com 
#PBS -o example_script.out  
#PBS -e example_script.err 
cd /home/user/datadir 
COMMAND[0]="mpiexec isis-script example_script.sl" 
/usr/bin/nice -n +15 ${COMMAND[$PBS_ARRAYID]}