oracular (3) Slurm::Hostlist.3pm.gz

Provided by: libslurm-perl_24.05.2-1_amd64 bug

NAME

       Slurm::Hostlist - Hostlist functions in libslurm

SYNOPSIS

        use Slurm;

        $hostnames = "node1,node[2-5,12]";
        $hl = Slurm::Hostlist::create($hostnames);

        $cnt = $hl->count;

        $hl->push("node21,node[27-34]");

        while($host = $hl->shift()) {
               print $host, "\n";
        }

        print $hl->ranged_string(), "\n";

DESCRIPTION

       The Slurm::Hostlist class is a wrapper of the hostlist functions in libslurm. This package is loaded and
       bootstrapped with package Slurm.

METHODS

   $hl = Slurm::Hostlist::new($str);
       Create a new hostlist from a string representation. Returns an opaque hostlist object. This is a CLASS
       METHOD.

       The string representation ($str) may contain one or more hostnames or bracketed hostlists separated by
       either `,' or whitespace. A bracketed hostlist is denoted by a common prefix followed by a list of
       numeric ranges contained within brackets: e.g. "tux[0-5,12,20-25]".

       To support systems with 3-D topography, a rectangular prism may be described using two three digit
       numbers separated by "x": e.g. "bgl[123x456]". This selects all nodes between 1 and 4 inclusive in the
       first dimension, between 2 and 5 in the second, and between 3 and 6 in the third dimension for a total of
       4*4*4=64 nodes.

       If $str is omitted, and empty hostlist is created and returned.

   $cnt = $hl->count();
       Return the number of hosts in the hostlist.

   $pos = $hl->find($hostname);
       Searches hostlist $hl for the first host matching $hostname and returns position in list if found.

       Returns -1 if host is not found.

   $cnt = $hl->push($hosts);
       Push a string representation of hostnames onto a hostlist. The $hosts argument may take the same form as
       in create().

       Returns the number of hostnames inserted into the list,

   $cnt = $hl->push_host($hostname);
       Push a single host onto the hostlist hl.

       This function is more efficient than slurm_hostlist_push() for a single hostname, since the argument does
       not need to be checked for ranges.

       Return value is 1 for success, 0 for failure.

   $str = $hl->ranged_string();
       Return the string representation of the hostlist $hl. ranged_string() will write a bracketed hostlist
       representation where possible.

   $host = $hl->shift();
       Returns the string representation of the first host in the hostlist or `undef' if the hostlist is empty
       or there was an error allocating memory. The host is removed from the hostlist.

   $hl->uniq();
       Sort the hostlist $hl and remove duplicate entries.

SEE ALSO

       Slurm

AUTHOR

       This library is created by Hongjia Cao, <hjcao(AT)nudt.edu.cn> and Danny Auble, <da(AT)llnl.gov>. It is
       distributed with SLURM.

       This library is free software; you can redistribute it and/or modify it under the same terms as Perl
       itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.