Gurobi
Gurobi je licenčna programska oprema, ki je na voljo samo za uporabnike HPC Vega, ki že imajo licenco Gurobi. Za pridobitev dostopa mora vsak uporabnik poslati elektronsko sporočilo naši podporni ekipi, ki vsebuje vaše uporabniško ime na gruči in elektronski naslov, na katerega je dodeljena licenca.
Moduli
Upravičeni uporabniki imajo na voljo modul Gurobi.
module av Gurobi
Izpis:
------------------------------------------------------ /ceph/hpc/software/modulefiles ------------------------------------------------------
Gurobi/9.5.1-GCCcore-11.2.0-env
------------------------------------------------- /cvmfs/sling.si/modules/el7/modules/all --------------------------------------------------
Gurobi/9.5.1-GCCcore-11.2.0 (D)
Where:
D: Default Module
Use "module spider" to find all possible modules and extensions.
Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".
Ko dobite dostop do programske opreme Gurobi na gruči Vega, boste lahko naložili module Gurobi s pripono -env
. Modul bo izvozil pravilno licenčno pot GRB_LICENSE_FILE
.
module load Gurobi/9.5.1-GCCcore-11.2.0-env
Gurobi shell based on Python 3.9.6 can be launched with command `gurobi.sh`
Gurobi Python Interface can be loaded in Python 3.9.6 with 'import gurobipy'
...
gurobi_cl
Set parameter TSPort to value 38567
Set parameter Username
Set parameter TokenServer to value "gurobi.vega.izum.si"
Set parameter LogFile to value "gurobi.log"
Using license file /ceph/hpc/software/gurobi/lic/gurobi.lic
Usage: gurobi_cl [--command]* [param=value]* filename
Type 'gurobi_cl --help' for more information.
Licenca
Trenutno je na voljo Floating
licenca.
gurobi_cl --license
Set parameter TSPort to value 38567
Set parameter Username
Set parameter TokenServer to value "gurobi.vega.izum.si"
Set parameter LogFile to value "gurobi.log"
Using license file /ceph/hpc/software/gurobi/lic/gurobi.lic
Izvajanje batch poslov
Za izvajanje batch poslov morate pripraviti skripto za posle (glejte spodnje primere) in jo oddati v batch sistem z ukazom sbatch.
Primer 1:
#!/bin/bash -l
#SBATCH --output=mpi-%j.out
#SBATCH --ntasks=10
#SBATCH --cpus-per-task=6
#SBATCH --time=00:20:00
#SBATCH --export=ALL
module load openmpi/4.1.2.1
module --ignore-cache load Gurobi/9.5.1-GCCcore-11.2.0-env
export QUEUETIMEOUT=200
mpirun -np 1 gurobi_cl Threads=60 VarBranch=1 Cuts=1 PreSolve=2 ResultFile=/ceph/hpc/home/$USER/output-example1.sol input.lp
Primer 2:
#!/bin/bash -l
#SBATCH --output=omp-%j.out
#SBATCH --cpus-per-task=6
#SBATCH --time=00:20:00
#SBATCH --export=ALL
module load openmpi/4.1.2.1
module --ignore-cache load Gurobi/9.5.1-GCCcore-11.2.0-env
export QUEUETIMEOUT=200
export OMP_NUM_THREADS=24
srun gurobi_cl Threads=24 VarBranch=1 Cuts=1 PreSolve=2 ResultFile=/ceph/hpc/home/$USER/output-example2.sol input.lp