hpcman
¶
Usage:
Options:
--help
: Show this message and exit.
Commands:
cluster
: Get cluster informationconda
: Manage cluster, lab, and user conda setupslab
: Get information about lab configurationqueue
: Manage queuing system jobs, and get queue...software
: Manage and monitor software installs.user
: Get and/or set user env variables,...version
: Print version number and exit.
hpcman cluster
¶
Get cluster information
Usage:
Options:
--help
: Show this message and exit.
Commands:
disk
: Get cluster disk-free usagepaths
: Get cluster paths for standard...software
: Look for installed software that may not...
hpcman cluster disk
¶
Get cluster disk-free usage
Usage:
Options:
--help
: Show this message and exit.
hpcman cluster paths
¶
Get cluster paths for standard software/database installs
Usage:
Options:
--help
: Show this message and exit.
hpcman cluster software
¶
Look for installed software that may not be in $PATH
Usage:
Options:
--help
: Show this message and exit.
hpcman conda
¶
Manage cluster, lab, and user conda setups
Usage:
Options:
--help
: Show this message and exit.
Commands:
status
: Check status of user conda setup
hpcman conda status
¶
Check status of user conda setup
Usage:
Options:
--help
: Show this message and exit.
hpcman lab
¶
Get information about lab configuration
Usage:
Options:
--help
: Show this message and exit.
Commands:
info
: Get path of potential nfs drives for your labmanager
: Get lab manager information
hpcman lab info
¶
Get path of potential nfs drives for your lab
Usage:
Arguments:
[USER]
: User name to check. [default: davised]
Options:
-g, --group TEXT
: Group(s) to check for. Overrides auto-detection from provided USER.-v, --verbose
: Increase verbosity. Can specify more than once.--help
: Show this message and exit.
hpcman lab manager
¶
Get lab manager information
Usage:
Options:
--help
: Show this message and exit.
hpcman queue
¶
Manage queuing system jobs, and get queue status
Usage:
Options:
--help
: Show this message and exit.
Commands:
avail
: Alias: hqavail.error
: Get error queues, and explain statelaunch
: Launch interactive browser job type on a nodestat
: Alias: hqstat.submit
: Alias: hqsub.usage
: Get past queue usage information
hpcman queue avail
¶
Alias: hqavail. Get available queues
Usage:
Options:
-u, --user TEXT
: User name to check. Use '*' to check all users. [default: davised]-q, --queue TEXT
: Queue to check. By default, all queues are checked.--slurm / --no-slurm
: Check slurm queues. [default: slurm]--sge / --no-sge
: Check sge queues. [default: sge]--gpu
: Hides non gpu queues.--hide-full / --no-hide-full
: Hide full queues. [default: hide-full]--help
: Show this message and exit.
Produces a table similar to the qstat
output.
hpcman queue error
¶
Get error queues, and explain state
Usage:
Options:
--help
: Show this message and exit.
hpcman queue launch
¶
Launch interactive browser job type on a node
Usage:
Arguments:
COMMAND:{serve|jupyter}
: Command to launch. [required]
Options:
--force
: Force the submission of the job even if run is already present.-q, --queue TEXT
: The queue to use. Provide '*' to explicitly select any available queue. [required]-p, -P, --procs INTEGER
: Number of processors to request. [default: 1]-f, --free TEXT
: Free memory to request on the machine to run this job. (100M, 1G, 4G, 32G etc.) [default: 4G]-m, --max TEXT
: Maximum memory this job may use (kill if exceeded). (100M, 1G, 4G, 32G etc.)-F, --filesize TEXT
: Kill the job if any created file exceeds this size. (100M, 1G, 4G, 32G etc.) [default: 500G]--path TEXT
: The $PATH to use for the submitted commands. [default: ($PATH environment variable of current shell)]-r, --runname TEXT
: The run name and log output directory name. [default: (sge.{command})]--help
: Show this message and exit.
hpcman queue stat
¶
Alias: hqstat. Get job status
Usage:
Options:
-u, --user TEXT
: User name to check. Use '*' to check all users. [default: davised]-q, --queue TEXT
: Queue to check. By default, all queues are checked.--slurm / --no-slurm
: Check slurm jobs. [default: slurm]--sge / --no-sge
: Check sge queues. [default: sge]-w, --watch
: Watch for changes to the queue status--help
: Show this message and exit.
Produces a table similar to the qstat
output.
hpcman queue submit
¶
Alias: hqsub. Submit queueing job "COMMAND". Multiple lines of commands supported using piped input from STDIN. If providing as argument and there are spaces in the command, use quotes to provide the command, either '' or "" will work! Do not use -c '', just provide the command as argument.
Usage:
Arguments:
"COMMAND"
: Command to submit. Reading from stdin assumed. Provide '-' to explicitly use stdin.
Options:
-r, --runname TEXT
: The run name and log output directory name. Provide '-' for automatic name generation. [required]-q, --queue TEXT
: The queue to use. Provide '*' to explicitly select any available queue. [required]-A, --account TEXT
: The account to use. Automatically determined if a partition is supplied.-w, --nodelist TEXT
: Nodes to target. Slurm may use more if these nodes do not meet job specifications (CPUs, mem, etc). Also populated from queues specified '-q queue@node'. Can specify multiple times.-x, --excludelist TEXT
: Nodes to exclude. Also populated from queues specified '-q !queue@node'. Can specify multiple times.--opts TEXT
: Specify custom options to pass to Slurm. Use the --opts='--option=value' syntax for best results. Can specify multiple times.-t, --type [batch|array]
: Type of job to submit. Note: Default depends on inputs. batch is default except when reading from stdin, then array is default. [default: (batch; array when reading stdin)]-p, -P, --procs INTEGER
: Number of processors to request. Match with threads/cores used in command. Exposed as $NPROCS in the submit script. [default: 1]-f, --free TEXT
: Free memory to request on the machine to run this job. (100M, 1G, 4G, 32G etc.) [default: 4G]-m, --max TEXT
: Maximum memory this job may use (kill if exceeded). (100M, 1G, 4G, 32G etc.)-F, --filesize TEXT
: Kill the job if any created file exceeds this size. (100M, 1G, 4G, 32G etc.) [default: 500G]--force
: Force the submission of the job even if --runname is already present. (as SGE_Array default)--path TEXT
: The $PATH to use for the submitted commands. [default: ($PATH environment variable of current shell)]--hold TEXT
: Hold the job until specified jobs (either job name or job ID) are completed. Can be specified multiple times.--hold-auto
: Hold the execution of the job until all other jobs in dir have finished. (Uses .hpcman_jobnums file)-b, --concurrency INTEGER
: Array job maximum task concurrency. ('batch size'; unused in batch mode) [default: 50]--queuetype [SGE|SLURM]
: Type of queuing system. [default: (SLURM)]--validate-path / --no-validate-path
: Validate the provided $PATH value. Turn off at own risk. You may need to disable if you want to use the default $PATH of your bash shell, or if you want to do some testing. [default: validate-path]--local-drive [pertask|shared]
: Use the local drive for the submitted job. If set to pertask, uses $TMPDIR (/tmp) as the prefix for the tempdir (mktemp -d -p
). If set to shared, uses $TMPDIR/$USER/$DIRNAME ($TMPDIR/davised/hpcman) as the tempdir, where $DIRNAME is the name of the current directory.--local-prefix TEXT
: Override the default prefix of the tempdir. See the help for --local-drive.--mirror-type [link|copy]
: Type of mirroring to local drive. Only used if --local-drive is set. [default: (link)]--copy-results / --no-copy-results
: Copy final results back to submission directory. Defaults to True if --local-drive pertask and False if --local-drive shared./ --no-autotmp
: By default, hqsub will attempt to find a writeable directory on the compute node, preferring /scratch, /data, and then /tmp, in that order. To disable, specify --no-autotmp, or set the env-var HQSUB_AUTOTMP to False or 0. [env var: HQSUB_AUTOTMP]--dry-run
: Do not actually submit the job, but set up the submit directory.--parsable
: Output only the job ID upon successful submission.--watch
: Runhpcman queue stat --watch
to monitor the status of the jobs.--conda
: Enable use of conda (e.g. conda activate ...).--conda-exe FILE
: Path to conda executable to enable. [default: /local/cluster/miniconda3_base/bin/conda]--help
: Show this message and exit.
Emulates some functions of SGE_Batch and SGE_Array. Functions have been intentionally removed and/or modified in some cases to enable new features and improve reliability. Please submit a support ticket request at https://shell.cqls.oregonstate.edu/support to provide feedback on this software.
[magenta bold]-= Examples =-[/magenta bold]
• Batch job:
hqsub -q '*' -r - 'blastp -db nr -query ...'
• Batch job, watching for job submission:
hqsub -q '*' -r - 'blastp -db nr -query ...' --watch
• Batch job with multiple processors (use $NPROCS in command):
hqsub -q '*' -r - -p 8 'blastp -db nr -num_threads $NPROCS -query ...'
• Array job with multiple processors, reading commands from stdin:
bash submit_jobs.sh | hqsub -q '*' -r - -p 8 -t array -
• Using conda activate:
hqsub --conda -q '*' -r - 'conda activate bakta; which bakta'
• Using /data drive:
hqsub --local-drive pertask -q '*' -r - ...
hpcman queue usage
¶
Get past queue usage information
Usage:
Options:
--help
: Show this message and exit.
hpcman software
¶
Manage and monitor software installs.
Usage:
Options:
--help
: Show this message and exit.
Commands:
export-schema
: Exports model schema.info
: Get Information about a specific piece of...install
: Alias: hsi.list
: Show installed software.list-recipes
: Get list of recipes
hpcman software export-schema
¶
Exports model schema.
Usage:
Arguments:
METHOD:{conda|compile|pipx|pixi}
: Install method schema to dump. [required]
Options:
--help
: Show this message and exit.
hpcman software info
¶
Get Information about a specific piece of installed software.
Usage:
Arguments:
NAME
: Show information for this installed software. [required]
Options:
--db-path PATH
: Path to sqlite database. [default: /local/cqls/software/hpcman-dbs/hpcman_install_info.db]--help
: Show this message and exit.
hpcman software install
¶
Alias: hsi. Install software recipe or generate a new recipe from command-line options.
Usage:
Arguments:
RECIPE_NAME
: Name of recipe to use for installation. [required]VERSION
: Version of software to install. [required]
Options:
--debug / --no-debug
: Enable debug mode.-n, --name TEXT
: Name of the software to install. Same as 'recipe_name' by default.-m, --method [conda|compile|pipx|pixi]
: Install method to use.-t, --tags TEXT
: Tags associated with software. Multiple can be specified.--category [computer sciences|engineering|environmental sciences|languages|python package|life sciences|statistics|utilities|web]
: Category of software. e.g. life sciences, statistics, utilities--docs TEXT
: URL to documentation for software. Multiple can be specified.--refs TEXT
: URL to scientific literature for software. Multiple can be specified.--hook FILE
: Path to bash script for post-install hook/modification. Exports 'HPCMAN_POST_INSTALL_PREFIX' to dir where the software is installed.--patch FILE
: Path to patches to apply during post-install hook/modification. Runs in --patch-dir. Can supply multiple.--patch-dir TEXT
: Dir to run the patches in. 'None' means they run in HPCMAN_POST_INSTALL_PREFIX.--patch-opts TEXT
: Option for the patches. 'None' means '-bup0'--patch-order [before|after]
: Option for the patches. 'None' means 'before'--export TEXT
: Extra information (e.g. metadata) to include in the recipe and to export to the post install script.--help-check [empty|help|-h|-help|--help]
: Method to check for the help of the software.--version-check [version|-v|-V|-version|--version]
: Method to check for the version of the software.--msgtype [stderr|stdout]
: Output stream where help message is found.--recipe-dir DIRECTORY
: Path to recipe directory. [default: /local/cqls/software/hpcman-recipes/recipes]/ --no-save
: Save recipe to directory in --recipe-dir upon successful install. [default: True]--update
: Update recipe if command-line options are supplied and it is loaded from file.-p, --pkgs TEXT
: Conda/Pixi packages to install. Can specify multiple, and give version restrictions. To use the version specified in this install command, use 'package={ver}'-e, --exes TEXT
: Executables to generate shell scripts for after install or to link into the --bindir.-l, --libs TEXT
: Conda packages to install that do not provide binaries. Can specify multiple, and give version restrictions. To use the version specified in this install command, use 'package={ver}'--fix-perl
: Unset Perl env vars in conda env to eliminate issues with perl libs.--fix-python
: Exclude python user site-packages from the conda env.--fix-r, --fix-R
: Exclude R_LIBS from being found in the conda env.-c, --channel TEXT
: Conda channels to use. Overrides config file -> /local/cqls/software/x86_64/pixi/config.toml--priority [strict|disabled]
: Channel priority to use for conda environment.--yaml FILENAME
: Conda yaml file with channels and dependencies.--global-install / --no-global-install
: Install in global pixi/uv environment--python-ver [3.9|3.10|3.11|3.12]
: Python version to use for pypi isolated executable.--pipx-backend [pixi|uv]
: Backend to use for pipx installs.--linkexe / --no-linkexe
: Link the executables to [bold cyan]bindir[/bold cyan] upon install. [default: no-linkexe]/ --no-linkdir
: Link the target 'software-ver' dir to 'software' in the --install_prefix [default: True]--prefix PATH
: Install prefix for software. [default: /local/cqls/software]--bindir PATH
: Prefix for final location for linked software. 'x86_64/bin' will be appended to this path. [default: /local/cqls/opt]--logfile FILE
: Path to file to write log messages. [default: /local/cqls/software/logs/hpcman_install.log]--dry-run
: Do not install, just print commands.--force
: Force install even when directory is present.--skip [target|install|patch-before|hook|patch-after]
: Skip steps up to and including this step.--update-db / --no-update-db
: Update sqlite database with install information. [default: update-db]--db-path PATH
: Path to sqlite database. [default: /local/cqls/software/hpcman-dbs/hpcman_install_info.db]-v, --verbose
: Increase verbosity. Can specify more than once. [x<=6]-q, --quiet
: Decrease verbosity. Can specify more than once. [x<=9]--help
: Show this message and exit.
hpcman software install RECIPE VER -m pixi -t foo -t bar --category 'life sciences' --docs URL --refs URL --hook PATH --help-check='--help' --version-check='--version' -p 'pkg={ver}' -e exe --linkexe
hpcman software list
¶
Show installed software.
Usage:
Options:
--db-path PATH
: Path to sqlite database. [default: /local/cqls/software/hpcman-dbs/hpcman_install_info.db]--markdown
: Output table with Markdown format.--help
: Show this message and exit.
hpcman software list-recipes
¶
Get list of recipes
Usage:
Arguments:
[RECIPE_DIR]
: Path to recipe directory. [default: /local/cqls/software/hpcman-recipes/recipes]
Options:
--help
: Show this message and exit.
hpcman user
¶
Get and/or set user env variables, preferred program versions, and quota
Usage:
Options:
--help
: Show this message and exit.
Commands:
check
: Compare settings to system defaultsenable
: Enable configuration of environment...info
: Get configuration info for userquota
: Check user disk quotasetup
: Setup specific software and/or other...setvar
: Set configuration info for userssh
: Check sshkey setup and provide helpupdate-dotfiles
: Update dotfile paths to the latest version.
hpcman user check
¶
Compare settings to system defaults
Usage:
Options:
--help
: Show this message and exit.
hpcman user enable
¶
Enable configuration of environment variables using hpcman
Usage:
Arguments:
[CONFIG]
: Path to config location. [default: /home/cqls/davised/.config/hpcman]
Options:
-v, --verbose
: Increase verbosity. Can specify more than once.--help
: Show this message and exit.
hpcman user info
¶
Get configuration info for user
Usage:
Options:
--help
: Show this message and exit.
hpcman user quota
¶
Check user disk quota
Usage:
Options:
--help
: Show this message and exit.
hpcman user setup
¶
Setup specific software and/or other settings.
Usage:
Arguments:
SETUPTYPE:{prefix|R_LIBS_USER|R|pixi|uv|augustus|conda}
: Choose a type of software/setting to setup. [required]
Options:
--arch [x86_64|ppc64le|aarch64]
: CPU Architecture to target for setup. [default: (Current machine 'web1.hpc.oregonstate.edu' CPU arch)]-v, --verbose
: Increase verbosity. Can specify more than once.--help
: Show this message and exit.
-= Recommended order for setup =-
• prefix: Sets $HPCMAN_USER_PREFIX so hpcman can manage user install/settings. [bold red]Must be run first![/bold red]
• R_LIBS_USER: Sets $R_LIBS_USER to automatically manage versioning for different R major versions.
• R: Helps selection of R versions from installed versions and updates $PATH. Generates $R_LIBS_USER dir if set.
• pixi: Sets $PIXI_HOME and $PIXI_CACHE_DIR so you can manage conda installs using pixi.
hpcman user setvar
¶
Set configuration info for user
Usage:
Options:
--help
: Show this message and exit.
hpcman user ssh
¶
Check sshkey setup and provide help
Usage:
Options:
--help
: Show this message and exit.
hpcman user update-dotfiles
¶
Update dotfile paths to the latest version.
Usage:
Arguments:
[ETCPATH]
: Path to dotfile directory. [default: /local/cqls/etc]
Options:
--oldetc TEXT
: Old etc path to replace. [default: /local/cluster/etc]-c, --config [.bashrc|.cshrc|.zshrc|all]
: Choose dotfiles to update.-v, --verbose
: Increase verbosity. Can specify more than once. [x<=6]-q, --quiet
: Decrease verbosity. Can specify more than once. [x<=9]--help
: Show this message and exit.
hpcman version
¶
Print version number and exit.
Uses the get_version()
function specified in the __init__.py
file.
Instead of using a --version
flag, this command will print the version.
Returns: None
Usage:
Options:
--help
: Show this message and exit.