Giter Club home page Giter Club logo

cray-parallel's Introduction

A simple tool for formulating and submitting batch jobs on Cray XE6 machines. It is intended to be used in one-liners with GNU parallel.

Usage: cpar [options] qsub_walltime output_directory

Options:
        -A alloc         - project allocation for the qsub -A parameter
        -c chunk         - number of nodes per qsub job (D = 5)
        -dry             - dry run
        -n nodes         - max total nodes to use (D = 10)
        -N name          - job name for the qsub -N parameter
        -q queue         - job queue for the qsub -q parameter
        -redo            - environment setting file to source 
        -s env           - env file to source before each job
        -t threads       - number of threads each command uses (D = 1)

Examples:

  > for i in {1..60}; do echo "echo \$i; sleep 60"; done | cpar -t 8 -n 10 -c 5 3:00 test

    The first part of this pipe tries to launch 60 dummy jobs each
    sleeping for one minute.  With "-c 5", we parallelize it by
    launching qsub jobs each using 5 nodes.  The "-t 8" specifies 8
    cores to be allocated for each command; thus, on a machine with
    24-core nodes, each aprun line will execute (24/8=) 3 commands on
    the same node. This means our 5-node qsub can handle at least
    (5*3=) 15 commands. Since we are allowed to use as many as 10
    nodes (-n 10), we will submit two such qsubs, which gives us a
    throughput of 30 commands in one iteration. The cpar tool will
    thus instruct each qsub to have two iterations (10 aprun
    lines). The completion time is thus 2 * 60 seconds plus overhead.
    Our 3-minute allocation should be sufficient.

  > find /path/to/query -name *.fasta | parallel --dry-run blastall -a 6 -p blastp -d /NR/nr -i {} | cpar -t 6 1:00:00 output

    This pipeline will launch 1 hour jobs on no more than 10 nodes to
    blast every query file against the NR. A large number of query files
    will result in multiple sequential aprun lines on each node. So the
    qsub job length needs to be adjusted manually to reflect that.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.