User Guide¶
In order to use Spectral, the user has to do the following steps in the submission script:
- Request Spectral resources instead of NVMe
- Declare the path where the files will be saved in the node-local NVMe (
PERSIST_DIR) - Declare the path on GPFS where the files will be copied (
PFS_DIR) - Execute the script spectral_wait.py when the application is finished in order to copy the files from NVMe to GPFS
| Using GPFS | Using NVMe | Using Spectral |
|---|---|---|
#!/bin/bash
#BSUB -P xxx
#BSUB -J NAS-BTIO
#BSUB -o nasbtio.o%J
#BSUB -e nasbtio.e%J
#BSUB -W 10
#BSUB -nnodes 1
|
#!/bin/bash
#BSUB -P xxx
#BSUB -J NAS-BTIO
#BSUB -o nasbtio.o%J
#BSUB -e nasbtio.e%J
#BSUB -W 10
#BSUB -nnodes 1
|
#!/bin/bash
#BSUB -P xxx
#BSUB -J NAS-BTIO
#BSUB -o nasbtio.o%J
#BSUB -e nasbtio.e%J
#BSUB -W 10
#BSUB -nnodes 1
|
#BSUB -alloc_flags nvme
|
#BSUB -alloc_flags spectral
module load spectral
export PERSIST_DIR=${BBPATH}
export PFS_DIR=$PWD/spect/
|
|
export BBPATH=/mnt/bb/$USER/
jsrun -n 1 cp btio ${BBPATH
jsrun -n 1 cp input* ${BBPATH}
|
export BBPATH=/mnt/bb/$USER/
jsrun -n 1 cp btio ${BBPATH
jsrun -n 1 cp input* ${BBPATH}
|
|
jsrun -n 1 -a 16 -c 16 -r 1 ./btio
|
jsrun -n 1 -a 16 -c 16 -r 1 ${BBPATH}/btio
|
jsrun -n 1 -a 16 -c 16 -r 1 ${BBPATH}/btio
|
ls -l
|
jsrun -n 1 ls -l ${BBPATH}/
|
jsrun -n 1 ls -l ${BBPATH}/
|
jsrun -n 1 cp ${BBPATH}/* .
|
spectral_wait.py
|
You could observe that with Spectral library there is no reason to explicitly ask for the data to be copied to GPFS as it is done automatically through the spectral_wait.py script. Also a a log file called spectral.log will be created with information on the files that were copied.