Server

To access our server, make sure that you are connected to the UTD network:

  • If you’re on-campus, make sure that you are connected to the CometNet internet

  • If you’re working off-campus, make sure that you are connected to the UTD VPN by following the instructions here

Map Network Directory

To map the kenrod/ drive (formerly, the shared/ drive) to your local computer:

For Mac users, go to Finder > Go > Connect to Server, enter the following and press Connect:

smb://cvl-share.cvl.utdallas.edu/kenrod

For Windows users, follow the instructions here and enter the following for Folder field:

\\cvl-share.cvl.utdallas.edu\kenrod

Login with Command Line

For Max users, we can use the Terminal app, which is already included in Macs

For Windows users, install either Putty or MobaXterm

You can login by typing the following:

ssh -Y <user>@<hostname>

User is your UTD Net ID and hostname can be one of the following:

  • cvlkrcompute1.utdallas.edu or ponyo.utdallas.edu

  • cortex.cvl.utdallas.edu

Software

To see available software, run:

module avail

To load available software, run:

module load <software>

To unload software, run:

module unload <software>

Parallel Jobs

To run parallel jobs, we can use SLURM (preferred) or Sun Grid Engine (old).

Parallel Script Template

SLURM

To use SLURM, first access the server via cortex.cvl.utdallas.edu.

Basic SLURM commands:

sbatch <script>          # Submit a job
squeue                   # Show see pending jobs
scancel <jobid>          # cancel specific job
scancel -u <username>    # Cancel all jobs

Common SLURM settings:

# ------------------------------------------------------------------------------
# slurm settings
# ------------------------------------------------------------------------------
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1        # can be increased if needed
#SBATCH --mem=4G                 # can be increased if needed
#SBATCH --partition=kenrod
#SBATCH --output=jid-%A_jname-%x.log
#SBATCH --mail-type=FAIL
#SBATCH --time=2-00:00:00        # day-hours:minutes:seconds format
#SBATCH --export=NONE            # ALL or comma-separated environment variables

Command Example:

sbatch /path/to/script.sh

Sun Grid Engine

To use Sun Grid Engine, run the following on cvlkrcompute1.utdallas.edu (or ponyo.utdallas.edu):

module load sge

Basic SGE commands:

qsub <script>    # Submit a job
qstat            # Show statuses of jobs
qdel <jobid>     # Cancel a job
qhold <jobid>    # Place a hold on queued job to prevent it from running

Common SGE settings:

# ------------------------------------------------------------------------------
# sge settings
# ------------------------------------------------------------------------------
#$ -V
#$ -S /bin/bash
#$ -o jid-$JOB_ID-$TASK_ID_jname-$JOB_NAME.log
#$ -j y
#$ -m a \
#$ -M ${USER}@utdallas.edu

Command Example:

qsub /path/to/script.sh --airc_id 3tb1111 --sub 0001 --date 20230101 --ses 3

Testing and Debugging

On cortex, please use either the dev or kenrod partition such as the following commands (adjust parameters as needed; do not run jobs on the login node because this will slow down the server for everyone and, at worse, could crash the server!):

dev partition (preferred)

srun --nodes=1 --ntasks=1 --cpus-per-task=1 --mem=4G --partition=dev --pty /bin/bash

kenrod partition

srun --nodes=1 --ntasks=1 --cpus-per-task=1 --mem=4G --partition=kenrod --pty /bin/bash

Once inside the partition, you can run your script as it is normally executed (e.g., bash /path/to/script.sh)

On ponyo, testing and debugging can be performed by running the script as it is normally executed.

Open OnDemand (OOD)

Open OnDemand allows users to access terminal via a web browser or use programs that require GUI interfaces (e.g., SPM, freeview, or fslview).

Login using the link below using your UTD credentials.

https://ood.cvl.utdallas.edu/

To use terminal:

Clusters > >_cortex Shell Access

To use programs that require GUI interface:

My Interactive Sessions > cortex Desktop > adjust settings as needed and click Launch

Profiles

Consider adding these global lab profiles to your user profile. You can copy and paste either into its respective profile file by using the nano function (e.g., nano ~/.bash_profile)

  1. ~/.bash_profile

if [[ ${HOSTNAME} =~ 'cvlkrcompute' ]]; then
  export root_dir='/cvl/kenrod'
else
  export root_dir='/mfs/cvl/groups/kenrod'
fi
source ${root_dir}/server/profiles/global/bash_profile.sh
  1. ~/.Rprofile

if (Sys.info()[['nodename']] == 'cvlkrcompute1.utdallas.edu') {
        root_dir <- '/cvl/kenrod'
} else {
        root_dir <- '/mfs/cvl/groups/kenrod'
}
source(sprintf('%s/server/profiles/global/r_profile.R', root_dir))

Technical Information

hostname

alias

cores

memory

cortex node

gpu cores

cvlkrcompute1

ponyo

32

132GB

cvlkrcompute2

totoro

32

132GB

compute-16

cvlkrcompute3

kiki

12

65GB

compute-02

4992