User Tools

Site Tools


using_ogs_sge

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
using_ogs_sge [2017/09/25 17:33]
mgstauff [Output from your job]
using_ogs_sge [2018/03/02 20:35] (current)
mgstauff [Per-job memory limit]
Line 56: Line 56:
 The most common way to use SGE is to run batch jobs via ''qsub''. This is the non-interactive method. The most common way to use SGE is to run batch jobs via ''qsub''. This is the non-interactive method.
  
-''qsub'' allows you to submit a job defined by a script, and the job scheduler will place your job in the **job queue**, to be run either immediately or when resources open up.+''qsub'' allows you to submit a job defined by a script (a file that holds a series of commands - basically a program), and the job scheduler will place your job in the **job queue**, to be run either immediately or when resources open up.
  
-You run a batch job like so:+You run a batch job like so, where ''myjobscript'' is the name of a script that holds some commands. For example, it could be a BASH script, or a PERL script.
  
-  [mgstauff@chead ~]$ qsub myjob +  [mgstauff@chead ~]$ qsub myjobscript 
-  Your job 27657 ("myjob") has been submitted+  Your job 27657 ("myjobscript") has been submitted
      
-Here's an example script (you can cut-n-paste into a text editor on the cluster to try it yourself):+Here's an example BASH script that could be in the file named ''myjobscript'' (you can cut-n-paste into a text editor on the cluster to try it yourself):
  
   //#!/bin/bash   //#!/bin/bash
Line 79: Line 79:
 But what happens to the terminal output of your script? That is, the text or error messages your script normally generates and shows on the screen when you run it from the command line? This output is saved to special files for each job in the job's working directory. They look like this:  But what happens to the terminal output of your script? That is, the text or error messages your script normally generates and shows on the screen when you run it from the command line? This output is saved to special files for each job in the job's working directory. They look like this: 
  
-  [mgstauff@chead ~]$ ls myjob.*+  [mgstauff@chead ~]$ ls myjobscript.*
   myjob.e27657   myjob.e27657
   myjob.o27657   myjob.o27657
Line 476: Line 476:
  
 ==== Per-job memory limit ==== ==== Per-job memory limit ====
-There is a limit of 62GB per job at this point. This allows a single ''qlogin'' session to run a large memory job on a single compute node.+There is a limit of 30GB per job at this point for jobs running on the default queue, 'all.q'. See notes on the himem.q queue on this page if your job uses more memory.
  
 NOTE that if you request this much memory, you might have to wait for a node to become free since this means using most of a node's memory resources, and your job might be slowed along with other jobs on the node because memory swap space will most likely be used. NOTE that if you request this much memory, you might have to wait for a node to become free since this means using most of a node's memory resources, and your job might be slowed along with other jobs on the node because memory swap space will most likely be used.
Line 593: Line 593:
  
 __NOTE__ Because the -V option will pass your environment variables to your qsub sessions, be careful what value you set for ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS. If it does not match the number of slots you're requesting for qsub, threading will not work properly and performance will decrease.  __NOTE__ Because the -V option will pass your environment variables to your qsub sessions, be careful what value you set for ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS. If it does not match the number of slots you're requesting for qsub, threading will not work properly and performance will decrease. 
 +
 +=== Limiting threads in OMP-based apps like FSL===
 +The default environment is setup to include
 +
 +  export OMP_NUM_THREADS=${NSLOTS}
 +  export OMP_THREAD_LIMIT=${NSLOTS}
 +
 +which limits OMP-based apps (like FSL) to use only as many threads as you have slots.
  
 === Limiting threads in Matlab === === Limiting threads in Matlab ===
using_ogs_sge.1506360787.txt.gz · Last modified: 2017/09/25 17:33 by mgstauff