pbs_mpihp(8B)

πŸ“¦ version 23.06.06-unstable-2026-04, in nixos 26.05, nixpkgs unstable

pbs_mpihp(8B) β€” run an MPI application in a PBS job with HP MPI πŸ’–

okay bestie, welcome to the manual page for pbs_mpihp β€” that's the PBS command in section 8B that runs your MPI app in a PBS job with HP MPI. it's giving "mpirun but make it PBS" and we're gonna walk through it together, no cap ✨


🌸 NAME 🌸

pbs_mpihp β€” run an MPI application in a PBS job with HP MPI.

✨ SYNOPSIS ✨

pbs_mpihp [-h <host>] [-np <number>] [<other HP mpirun options>]
<program> [<args>]

pbs_mpihp [<HP mpirun options>] -f <appfile> [-- [<extra_args>]]

pbs_mpihp --version

πŸ’… DESCRIPTION πŸ’…

okay so the PBS command pbs_mpihp replaces the standard mpirun command in a PBS HP MPI job, for executing programs. it's a front end to the HP MPI version of mpirun β€” iconic behavior, honestly 🫢

When pbs_mpihp is invoked from a PBS job, it processes the command line arguments, then calls standard HP mpirun to actually start the MPI ranks. The ranks created are mapped onto CPUs on the vnodes allocated to the PBS job. The environment variable MPI_REMSH is set to $PBS_EXEC/bin/pbs_tmrsh. This causes the processes that are created to become part of the PBS job. slay πŸ’…

The path to standard HP mpirun is found by checking to see if a link exists with the name PBS_EXEC/etc/pbs_mpihp. If this link exists, it points to standard HP mpirun. If it does not exist, a call to mpirun -version is made to determine whether it is HP mpirun. If so, the call is made to "mpirun" without an absolute path. If HP mpirun cannot be found, an error is output, all temp files are cleaned up and the script exits with value 127. not the vibe, but important to know 😭

If pbs_mpihp is invoked from outside a PBS job, it passes all of its arguments directly to standard HP mpirun without further processing.

πŸŽ€ Configuration πŸŽ€

When HP MPI is wrapped with pbs_mpihp, "rsh" is the default used to start the mpids. If you wish to use "ssh" or something else, be sure to set the following in $PBS_HOME/pbs_environment:

PBS_RSHCOMMAND=ssh

or put the following in the job script:

export PBS_RSHCOMMAND=<rsh_cmd>

πŸ¦‹ USAGE πŸ¦‹

Usage is the same as for HP mpirun.

pbs_mpihp <program> allows one executable to be specified.

pbs_mpihp -f <appfile> uses an appfile to list multiple executables. The format is described in the HP mpirun man page. If this form is used from inside a PBS job, the file is read to determine what executables are to be run and how many processes are started for each.

🚨 Executing pbs_mpihp with the -client option is not supported under PBS.

πŸ‘‘ OPTIONS πŸ‘‘

All options except the following are passed directly to HP mpirun with no modification.

  • -client β€” Not supported. 🚫
  • -f <appfile> β€” The specified appfile is read by pbs_mpihp.
  • -h <host> β€” Ignored by pbs_mpihp.
  • -l <user> β€” Ignored by pbs_mpihp.
  • -np <number> β€” Specifies the number of processes to run on the PBS vnodes.
  • --version β€” The pbs_mpihp command returns its PBS version information and exits. This option can only be used alone. ⚠️

πŸ’œ EXIT VALUES πŸ’œ

  • 127 β€” If HP mpirun cannot be found

🌈 SEE ALSO 🌈

mpirun(1)


πŸ’– cute sign-off bestie: this page is source/version Local, dated 6 May 2020, and it's the pbs_mpihp(8B) manual. now go run your MPI app and remember: you're the main character of this job, fr fr πŸ«ΆπŸ’…πŸŽ€

πŸ“¦ where this page comes from