# Using RIS
# Query hosts
`bhosts -w artsci` lists all the available nodes in the condo `artsci`.
`bhosts -gpu -w artsci` lists all the gpu-enabled nodes in the condo `artsci`
Once you are in an interactive job, you can query the number of allocated processes using:
````
echo $LSB_DJOB_NUMPROC
````
# Queues
The queues to use for `artsci` condo nodes seems to be `artsci` and `artsci-interactive`, while specifying `-G compute-artsci`. You can also use `-G compute-cyuran` since I'm under the artsci group.
# Mounting volumes
The typical volumes to mount from the host to the container include the active storage volume and the user's home directory. If you installed some software in your active storage and want to mount it at the correct location, you need to specify that too. I typically use:
````bash
export LSF_DOCKER_VOLUMES="/storage1/fs1/cyuran/Active/giantflares/modules:/usr/local/modules /storage1/fs1/cyuran/Active/giantflares:/storage1/fs1/cyuran/Active/giantflares $HOME:$HOME"
````
The first one is where I install custom modules; second is the active storage for the group; third is simply the home directory.
# Storage group
`storage-cyuran-giantflares-rw` is for read-write permission on `/storage1/fs1/cyuran/Active/giantflares`. `storage-cyuran-giantflares-ro` is for read-only permission.
# Docker image
I have prepared a Docker image with Cuda, OpenMPI, parallel HDF5, and everything else that is needed to run `Aperture` or `CoffeeGPU`. To make use of it, you can submit a job using the following command:
````bash
bsub -Is -G compute-artsci -q artsci-interactive -R 'gpuhost' -gpu "num=1" -a 'docker(fizban007/ris)' /bin/bash
````
This submits an interactive job to the queue, requesting 1 GPU from the artsci condo, and will land you in a `bash` prompt.
# Compiling Aperture
Clone the repo using the following command:
````bash
git clone --branch develop https://github.com/fizban007/Aperture4.git
cd Aperture4
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -Duse_cuda=1
make -j4
````
You only need to run `cmake` or `git` once. Then when you change anything you just need to do `make`.