Grid@LIPI Usage

Apply for Account

A Grid@LIPI user account is needed for using Grid@LIPI. You can apply for it by registering an account in our website Grid@LIPI at Apply for Access tab and submit (a) project proposal(s) at our website Grid@LIPI at My Project ⇒ Create New Proposal tab. Once your proposal is accepted, your Grid@LIPI account will be activated for number of days you applied for.

ssh to Grid@LIPI

The SSH (Secure Shell) utility is used to establish remote connections using the command-line. For windows users you can use Putty, for LINUX users usually already installed as default.

Simply connect to Gerbang Grid@LIPI using the name “login.cbg.grid.lipi.go.id”. Replace “user” with your user account name. First time around the system will ask you to accept the remote computer into the list of known hosts, before you accept it as a trustworthy computer from Grid@LIPI by typing “yes” followed by pressing enter (return, here represented by the “↵” symbol):

>> ssh user@login.cbg.grid.lipi.go.id "↵"

Are you sure you want to continue connecting (yes/no)? yes "↵"
Warning: Permanently added 'login.cbg.grid.lipi.go.id' (RSA) to the list of known hosts.
user@login.cbg.grid.lipi.go.id's password: <<type your password>>  "↵"
Last login: Sun Oct 30 18:49:18 2016 from user-kompie

To submit your job you should ssh to the submit job machine (master), as follows:

>> ssh master "↵"

Storage

The Grid@LIPI will have a shared storage, we will update this section if the shared storage is ready. For now for each account the size of storage is 100 GB quota in each user's home directory.

Software

List of installed softwares are provided in Grid@LIPI. Grid@LIPI use Module to manage software modules. You can run module command to query, load, and unload of software modules.

  • Use “module avail” to list what software modules available at the Grid@LIPI batch​

  • >> module avail "↵"
    
    ------------------------- /apps/soft/Modules/versions --------------------------
    3.2.10
    
    -------------------- /apps/soft/Modules/3.2.10/modulefiles ---------------------
    dot         module-git  module-info modules     null        use.own
    
    ------------------------- /apps/soft/libs/modulefiles --------------------------
    blas/3.6.0(default:3.6)       pcre/8.39(default)
    boost/1.62.0(default:1.62)    qhull/2015.2(default)
    fftw/3.3.5(default:3.3)       qrupdate/1.1.2(default:1.1)th
    glpk/4.60(default)            sparsehash/2.0.3(default:2.0)
    lapack/3.6.1(default:3.6)
    
    ------------------------- /apps/soft/tools/modulefiles -------------------------
    cuda/8.0                   openmpi/1.8.8(default:1.8)
    gcc/4.8.2                  openmpi/2.0.1
    hmmer/3.1b2(default:3.1)   python/2.7.12(default:2.7)
  • Use “module load” to load what a software module or use “module unload” if you want to unload the software module
  • >> module load blas "↵"
 
  • Use “module list” to list what software modules already been loaded​

  • >> module list "↵"
    Currently Loaded Modulefiles:
      1) openmpi/1.8.8(default:1.8)   2) null                         3) blas/3.6.0(default:3.6)

Submit your first job

Grid@LIPI use “qsub” to submit your job to the Grid@LIPI clusters. Follow the following steps by replacing “hello_world” program with your job.

  • Create a “pbs” script to set your application and node allocation

  1. #!/bin/bash
    
    ### This is parameter for job management
    ### Don't remove '#' sign before PBS
    ### The '###' is a comment
    
    ### PBS Parameters
    ### -N  Job's name
    ### -o  Output name
    ### -e  Error name
    ### -q  queue name : gpu or nongpu
    ### -l  resource
    ### Example:
    
    #PBS -N "hello_world_job"
    #PBS -q nongpu
    #PBS -l walltime=04:00:00
    #PBS -l nodes=9:ppn=8
    
    ### Go to 'your home' dir
    
    cd $PBS_O_WORKDIR
    
    exec 2>&1
    
    # set to debug
    #set -x
    
    # how many nodes have been assigned to this job?
    NP=`wc -l $PBS_NODEFILE | awk '{print $1}'`
    
    ### load  module you need
    ### you can check the available module by command: module avail
    
    module load openmpi
    
    ### Call your script/code
    ### Example:
    
    echo "Hostname = $HOSTNAME"
    echo "Number of nodes = $NP"
    echo "Start = `date`"
    
    mpirun -np $NP /home/user/hello_world/hello_world
    
    echo "Finish = `date`"
  • Store your pbs script, for example “hello_world.pbs”

  • Run the “hello_world.pbs” script as follows

  1. >> qsub hello_world.pbs "↵"
    #JOB_ID.borneo02.cbg.grid.lipi.go.id

  • Here #JOB_ID is an integer number that representing your job id, for example “7771”, then you can query your submitted job (whether it is still running, or already finish) by “qstat”

  1. >> qstat #JOB_ID "↵"
    Job ID                    Name             User            Time Use S Queue
    ------------------------- ---------------- --------------- -------- - -----
    #JOB_ID.borneo02              ...lo_world_job" test101                0 R nongpu   

  • If you want to undo the submit job, you can use “qdel”

  1. >> qdel #JOB_ID "↵"