Fetching latest commit…
Cannot retrieve the latest commit at this time.
This is the contribs dir for Slurm. SOURCE DISTRIBUTION HIERARCHY ----------------------------- Subdirectories contain the source-code for the various contributations for Slurm as their documentation. A quick description of the subdirectories of the Slurm contribs distribution follows: cray/ [Tools for use on Cray systems] etc_sysconfig_slurm - /etc/sysconfig/slurm for Cray XT/XE systems libalps_test_programs.tar.gz - set of tools to verify ALPS/BASIL support logic. Note that this currently requires: * hardcoding in libsdb/basil_mysql_routines.c: mysql_real_connect(handle, "localhost", NULL, NULL, "XT5istanbul" * suitable /etc/my.cnf, containing at least the lines [client] user=basic password=basic * setting the APBASIL in the libalps/Makefile, e.g. APBASIL := slurm/alps_simulator/apbasil.sh To use, extract the files then: > cd libasil/ > make -C alps_tests all # runs basil parser tests > make -C sdb_tests all # checks if database routines work A tool named tuxadmin is also also included. When executed with the -s or --slurm.conf option, this contact the SDB to generate system-specific information needed in slurm.conf (e.g. "NodeName=nid..." and "PartitionName= Nodes=nid... MaxNodes=...". opt_modulefiles_slurm - enables use of Munge as soon as built pam_job.c - Less verbose version of the default Cray job service. env_cache_builder.c [C program] This program will build an environment variable cache file for specific users or all users on the system. This can be used to prevent the aborting of jobs submitted by Moab using the srun/sbatch --get-user-env option. Build with "make -f /dev/null env_cache_builder" and execute as user root on the node where the moab daemon runs. lua/ [ LUA scripts ] Example LUA scripts that can serve as Slurm plugins. job_submit.lua - job_submit plugin that can set a job's default partition using a very simple algorithm job_submit_license.lua - job_submit plugin that can set a job's use of system licenses proctrack.lua - proctrack (process tracking) plugin that implements a very simple job step container using CPUSETs make-3.81.slurm.patch [ Patch to "make" command for parallel build ] make-4.0.slurm.patch [ Patch to "make" command for parallel build ] This patch will use Slurm to launch tasks across a job's current resource allocation. Depending upon the size of modules to be compiled, this may or may not improve performance. If most modules are thousands of lines long, the use of additional resources should more than compensate for the overhead of Slurm's task launch. Use with make's "-j" option within an existing Slurm allocation. Outside of a Slurm allocation, make's behavior will be unchanged. Designed for GNU make-3.81 or make-4.0. mic [Tools for use on Intel MIC processors] mpich1.slurm.patch [ Patch to mpich1/p4 library for Slurm job task launch ] For Slurm based job initiations (from srun command), get the parameters from environment variables as needed. This allows for a truly parallel job launch using the existing "execer" mode of operation with slight modification. openlava/ [ Wrapper Scripts for OpenLava/LSF migration to Slurm ] Helpful scripts to make transition to Slurm easier from OpenLava or LSF. These scripts are easily updatable if there is functionality missing. pam/ [ PAM (Pluggable Authentication Module) for Slurm ] This PAM module will restrict who can login to a node to users who have been allocated resources on the node and user root. pam_slurm_adopt/ [ Plugin for PAM to place incoming connections into existing Slurm job container ] This Slurm plugin provides a mechanism for new incomming connections to be placed into existing Slurm jobs containers so that then can be accounted for and killed at job termination. See the README file in the subdirectory for more details. perlapi/ [ Perl API to Slurm source ] API to Slurm using perl. Making available all Slurm command that exist in the Slurm proper API. phpext/ [ PHP API to Slurm source ] API to Slurm using php. Not a complete API, but offers quite a few interfaces to existing Slurm proper APIs. pmi2/ [ PMI2 client library ] User applications can link with this library to use Slurm's mpi/pmi2 plugin. seff/ [Tools to include job include job accounting in email] Expand information in job state change notification (e.g. job start, job ended, etc.) to include job accounting information in the email. Configure Slurm's MailProg to "smail" from this package. sgather/ [ shell script ] Gather remote files from a job into a central location. Reverse of of sbcast command. sgi/ [Tools for use on SGI systems] netloc_to_topology.c [ C program ] Used to construct a Slurm topology.conf file based upon SGI network APIs. README.txt [Documentation] sjobexit/ [ Perl programs ] Tools for managing job exit code records sjstat [ Perl program ] Lists attributes of jobs under Slurm control skilling.c [ C program ] This program can be used to order the hostnames in a 2+ dimensional architecture for use in the slurm.conf file. It is used to generate the Hilbert number based upon a node's physical location in the computer. Nodes close together in their Hilbert number will also be physically close in 2-D or 3-D space, so we can reduce the 2-D or 3-D job placement problem to a 1-D problem that Slurm can easily handle by defining the node names in the slurm.conf file in order of their Hilbert number. If the computer is not a perfect square or cube with power of two size, then collapse the node list maintaining the numeric order based upon the Hilbert number. slurm_completion_help/ [shell script, vim file] Scripts to help in option completion when using slurm commands. slurmdb-direct/ [ Perl program ] Program that permits writing directly to SlurmDBD (Slurm DataBase Daemon). spank_core.c [ SPANK plugin, C program ] A Slurm SPANK plugin that can be used to permit users to generated light-weight core files rather than full core files. time_login.c [ C program ] This program will report how long a pseudo-login will take for specific users or all users on the system. Users identified by this program will not have their environment properly set for jobs submitted through Moab. Build with "make -f /dev/null time_login" and execute as user root. torque/ [ Wrapper Scripts for Torque migration to Slurm ] Helpful scripts to make transition to Slurm easier from PBS or Torque. These scripts are easily updatable if there is functionality missing. NOTE: For the showq command, see https://github.com/pedmon/slurm_showq web_apps/ [ Script to display job usage statistics and cluster utilization ]