All Projects → TACC → launcher

TACC / launcher

Licence: MIT license
A simple utility for executing multiple sequential or multi-threaded applications in a single multi-node batch job

Programming Languages

shell
77523 projects
python
139335 projects - #7 most used programming language
TeX
3793 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to launcher

launcher-scripts
(DEPRECATED) A set of launcher scripts to be used with OAR and Slurm for running jobs on the UL HPC platform
Stars: ✭ 14 (-70.83%)
Mutual labels:  hpc, launcher
jupyterhub-deploy-hpc
Documented examples of Jupyterhub deployment in HPC settings
Stars: ✭ 30 (-37.5%)
Mutual labels:  hpc, xsede
hpc
Learning and practice of high performance computing (CUDA, Vulkan, OpenCL, OpenMP, TBB, SSE/AVX, NEON, MPI, coroutines, etc. )
Stars: ✭ 39 (-18.75%)
Mutual labels:  hpc, heterogeneous
Batch Shipyard
Simplify HPC and Batch workloads on Azure
Stars: ✭ 240 (+400%)
Mutual labels:  hpc, batch-processing
tacc stats
TACC Stats is an automated resource-usage monitoring and analysis package.
Stars: ✭ 36 (-25%)
Mutual labels:  hpc, xsede
svg2vector
Online batch converter of SVG images to Android vector drawable XML resource files
Stars: ✭ 39 (-18.75%)
Mutual labels:  batch-processing
equine
Mod manager/launcher for Diablo 1
Stars: ✭ 27 (-43.75%)
Mutual labels:  launcher
rocketjob
Ruby's missing background and batch processing system
Stars: ✭ 281 (+485.42%)
Mutual labels:  batch-processing
gobatch
Batch processing library for Golang.
Stars: ✭ 19 (-60.42%)
Mutual labels:  batch-processing
ScratchPaper
A Gradle Plugin for adding variant/version/git-commit-id/etc information to APK launcher icon.
Stars: ✭ 58 (+20.83%)
Mutual labels:  launcher
Apex-Launcher
Launcher for the fan game Pokemon Apex
Stars: ✭ 14 (-70.83%)
Mutual labels:  launcher
hipipe
Super fast C++17 data transformation pipeline (with Python interface).
Stars: ✭ 16 (-66.67%)
Mutual labels:  hpc
Wox
Launcher for Windows, an alternative to Alfred and Launchy.
Stars: ✭ 158 (+229.17%)
Mutual labels:  launcher
omnia
An open-source toolkit for deploying and managing high performance clusters for HPC, AI, and data analytics workloads.
Stars: ✭ 128 (+166.67%)
Mutual labels:  hpc
SHAD
Scalable High-performance Algorithms and Data-structures
Stars: ✭ 85 (+77.08%)
Mutual labels:  hpc
gmap
heterogenous Map over a GADT
Stars: ✭ 40 (-16.67%)
Mutual labels:  heterogeneous
SDKLauncher-iOS
A small iOS application to serve as a launcher/testbed for the Readium SDK.
Stars: ✭ 69 (+43.75%)
Mutual labels:  launcher
COBREXA.jl
Constraint-Based Reconstruction and EXascale Analysis
Stars: ✭ 21 (-56.25%)
Mutual labels:  hpc
pojavlauncherteam.github.io
Official website for PojavLauncher, built with VuePress
Stars: ✭ 64 (+33.33%)
Mutual labels:  launcher
cruise
User space POSIX-like file system in main memory
Stars: ✭ 27 (-43.75%)
Mutual labels:  hpc

Launcher

Build Status status

Launcher is a utility for performing simple, data parallel, high throughput computing (HTC) workflows on clusters, massively parallel processor (MPP) systems, workgroups of computers, and personal machines.

Installing Launcher

Launcher does not need to be compiled. Unpack the tarball or clone the repository in the desired directory. Then, set LAUNCHER_DIR to point to that location. Python 2.7 or greater and hwloc are required for full functionality. See INSTALL for more information.

Verifying Installation

Included in the download is a file called "quickstart" found in the folder "tests". In order to verify installation, open the command line and find the launcher file, and then type "cd tests" and then press the enter key. If the quickstart file is in the correct place, there is no need for arguments, so type "./quickstart". However, if the Launcher directory is found somewhere else, type "./quickstart ". The script will run in the terminal and if there are no errors in the process, the last line will say "Launcher: Done. Job exited without errors".

Quickstart

  • Set LAUNCHER_JOB_FILE to point to your job file. Example job files are provided in extras/examples.
  • Be sure that LAUNCHER_DIR is set to the directory containing the launcher source files (user-installed ONLY. Not required if using system installed version of launcher).
  • From the command-line or within your jobscript, run:$LAUNCHER_DIR/paramrun

Available Environment Variables

You should set the following environment variables:

  • $LAUNCHER_JOB_FILE is the file containing the jobs to run in your parametric submission.
  • $LAUNCHER_WORKDIR is the directory where the launcher will execute. All relative paths will resolve to this directory.

The launcher defines the following environment variables for each job that is started:

  • $LAUNCHER_NPROCS contains the number of processes running simultaneously in your parametric submission.
  • $LAUNCHER_NHOSTS contains the number of hosts running simultaneously in your parametric submission.
  • $LAUNCHER_PPN contains the number of processes per node.
  • $LAUNCHER_NJOBS contains the number of jobs in your job file.
  • $LAUNCHER_TSK_ID is the particular processing core that the job is running on, from 0 to $LAUNCHER_NPROCS-1.
  • $LAUNCHER_JID represents the particular job instance currently running. $LAUNCHER_JID is numbered from 1 to $LAUNCHER_NJOBS.

Example: If you want to redirect stdout to a file containing the unique ID of each line, you can specify the following in the job file: a.out > out.o$LAUNCHER_JID

If this particular execution instance of a.out was the first line in the job file, the output would be placed in the file "out.o1".

Note: you can also use the launcher to run a sequence of serial jobs when you have more jobs to run than the requested number of processors.

Task Scheduling Behavior

The launcher has three available behaviors for scheduling jobs, available by setting the environment variable $LAUNCHER_SCHED: (descriptions below assume k = task, p = num. procs, n = num. jobs)

  • dynamic (default) - each task k executes first available unclaimed line
  • interleaved - each task k executes every (k+p)th line
  • block - each task k executes lines [ k(n/p)+1, (k+1)(n/p) ]

Using Launcher on Multi-/Many-core Processors

Launcher uses the hwloc utility to determine layout of cores on the node. If hwloc is installed on your system and the commands are in the default PATH, Launcher will use this to partition the cores on node between the tasks. You can enable task binding by setting LAUNCHER_BIND=1 before calling paramrun.

Using Launcher with Intel Xeon Phi (KNC) Co-processor Cards

Launcher has the ability to execute appropriately compiled executables natively on first generation Intel Xeon Phi (KNC) cards.

Available Environment Variables for Intel Xeon Phi execution:

  • $LAUNCHER_NPHI is the number of Intel Xeon Phi cards per node. This is set to zero (0) by default. Acceptable values are '1' and '2'.
  • $LAUNCHER_PHI_PPN is the number of processes per Intel Xeon Phi card.
  • $LAUNCHER_PHI_JOB_FILE is the file containing the jobs to run on the Intel Xeon Phi cards.

Job Submission

Copy the example job submission script launcher.<sched> to your working directory to use as a starting point for interfacing with the desired batch system. Note that this script provides some simple error checking prior to the actual submission to aid in diagnosing missing executables and misconfiguration.

The launcher/extras/batch-scripts directory contains several example submission scripts:

  • SGE: launcher.sge
  • SLURM: launcher.slurm

Referencing Launcher

If you are using Launcher, please remember to make a reference to it when publishing results. The file paper/paper.bib contains the BibTeX-formatted citation list. Please reference entry Wilson:2014:LSF:2616498.2616533 (i.e., in LaTeX: \cite{Wilson:2014:LSF:2616498.2616534}).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].