danlorts / launcher Goto Github PK
View Code? Open in Web Editor NEWThis project forked from tacc/launcher
A simple utility for executing multiple sequential or multi-threaded applications in a single multi-node batch job
License: MIT License
This project forked from tacc/launcher
A simple utility for executing multiple sequential or multi-threaded applications in a single multi-node batch job
License: MIT License
------------------------------------------------------------------------- Launcher: a simple utility for submitting multiple serial applications simultaneously. ------------------------------------------------------------------------- To use: Copy the example "paramlist" input file to your working directory and edit to supply the name of each serial application to run per allocated process (these can be the same for each process, but there needs to be a separate line specified for each desired task). Note that example paramlist file provided is setup to run 8 instances of the program named "hello"; the stdin for this application is a single integer. Source code in Fortran and a pre-built binary is provided for the hello world application which can be used to test the batch launcher. Available Environment Variables: The launcher defines the following environment variables for each job that is started: * $LAUNCHER_JOB_FILE is the file containing the jobs to run in your parametric submission. * $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 paramfile. * $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 paramlist file: a.out > out.o$LAUNCHER_JID If this particular execution instance of a.out was the first line in the paramlist 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 the launcher with Intel Xeon Phi cards: The launcher has the ability to execute appropriately compiled executables natively on Intel Xeon Phi (MIC) 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 directory containing this README contains several example submission scripts: SGE: launcher.sge SLURM: launcher.slurm -- Last Update: 11/13/2015
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.