Updated: 15 September 2024
This guide is largely derived from https://opentopas.readthedocs.io/en/latest/getting-started/Debian.html#. It is recommended to visit the page for more detailed explanation of each [Step X] .
1. Load required modules and set environment variables [Step 1-4]
Paste the below lines into your terminal. (Do NOT put these directly in ~/.bashrc.)
module purge module load expat/2.5.0 module load X11/20231019-cpeCray-23.03 module load libGLU/9.0.3-cpeCray-23.03 module load HarfBuzz/8.2.2-cpeCray-23.03 module load CMake/3.26.4 export CC=cc CXX=CC FC=ftn F77=ftn F90=ftn
2. Download Geant4 [Step 5]
mkdir $HOME/Applications/GEANT4 cd $HOME/Applications/GEANT4 wget https://gitlab.cern.ch/geant4/geant4/-/archive/v11.1.3/geant4-v11.1.3.tar.gz tar -zxf geant4-v11.1.3.tar.gz
3. Install Geant4 [Step 7]
cd $HOME/Applications/GEANT4/ rm -rf geant4-install geant4-build mkdir geant4-{build,install} cd geant4-build cmake ../geant4-v11.1.3 -DGEANT4_INSTALL_DATA=OFF -DGEANT4_BUILD_MULTITHREADED=ON -DCMAKE_INSTALL_PREFIX=../geant4-install -DGEANT4_USE_QT=OFF -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_RAYTRACER_X11=ON make -j8 install cd $HOME/Applications/GEANT4/geant4-install ln -s lib64 lib
-DCMAKE_PREFIX_PATH=/usr/lib/qt5 -DGEANT4_USE_QT=ON
is changed to-DGEANT4_USE_QT=OFF
./geant4-install/lib
is symbolically linked to/geant4-install/lib64
.
4. Download G4DATA [Step 6]
As of 10 September 2024, there is a connection issue between transfer.lanta.nstda.or.th and https://cern.ch/.Therefore, G4DATA was previously downloaded by ThaiSC admin and temporarily made available at /project/common/G4DATA
.
cd $HOME/Applications/GEANT4/ cp -r /project/common/G4DATA .
5. Download OpenTOPAS [Step 8.1]
mkdir $HOME/Applications/TOPAS cd $HOME/Applications/TOPAS git clone https://github.com/OpenTOPAS/OpenTOPAS.git
6. Install GDCM [Step 8.2-8.3]
If $HOME/Applications/GDCM
already exists, rename it to another name such as mv $HOME/Applications/GDCM $HOME/Applications/GDCM-OLD
before proceed.
mkdir $HOME/Applications/GDCM cd $HOME/Applications/TOPAS/OpenTOPAS mv gdcm-2.6.8.tar.gz ../../GDCM cd ../../GDCM tar -zxf gdcm-2.6.8.tar.gz rm -rf gdcm-install gdcm-build mkdir gdcm-{build,install} cd gdcm-build cmake ../gdcm-2.6.8 -DGDCM_BUILD_SHARED_LIBS=ON -DGDCM_BUILD_DOCBOOK_MANPAGES:BOOL=OFF -DCMAKE_INSTALL_PREFIX=../gdcm-install make -j8 install
7. Install OpenTOPAS [Step 8.4]
cd $HOME/Applications/TOPAS rm -rf OpenTOPAS-install OpenTOPAS-build mkdir OpenTOPAS-{build,install} cd OpenTOPAS-build export Geant4_DIR=$HOME/Applications/GEANT4/geant4-install export GDCM_DIR=$HOME/Applications/GDCM/gdcm-install cmake ../OpenTOPAS -DCMAKE_INSTALL_PREFIX=../OpenTOPAS-install make -j8 install
8. Create a wrapper script of topas
[Step 9.1.b]
mkdir $HOME/Applications/shellScripts cd $HOME/Applications/shellScripts cat << Eof > topas #!/bin/bash module purge module load expat/2.5.0 module load X11/20231019-cpeCray-23.03 module load libGLU/9.0.3-cpeCray-23.03 module load HarfBuzz/8.2.2-cpeCray-23.03 export TOPAS_G4_DATA_DIR=$HOME/Applications/GEANT4/G4DATA export LD_LIBRARY_PATH=$HOME/Applications/TOPAS/OpenTOPAS-install/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=$HOME/Applications/GEANT4/geant4-install/lib:$LD_LIBRARY_PATH $HOME/Applications/TOPAS/OpenTOPAS-install/bin/topas $1 Eof chomd +x topas echo 'export PATH=~/Applications/shellScripts:$PATH' >> $HOME/.bashrc
9. Run OpenTOPAS on LANTA
Since OpenTOPAS does NOT installed with Qt, the option b:Ts/UseQt
won’t take any effects and should be set to "False"
.
Two approaches for running OpenTOPAS on LANTA are presented below.
The second approach using
sinteract
command can be useful. However, this method is not recommended if your internet connection is poor or you have to runtopas
for a long time.
A. Batch job
This first approach, using a job script and sbatch
command, is recommended. For performance reasons, every graphic option, Gr/*/
, should be disabled, please visit https://opentopas.readthedocs.io/en/latest/parameters/graphics.html for complete details.
Essentially, please check that b:Ts/PauseBeforeQuit
is set to "False"
, otherwise your job will be paused on the system until time out, wasting your SHr!
Below is a template of OpenTOPAS job script. It can be created using vi submitTOPAS.sh
. Edit it to meet your demands.
#!/bin/bash #SBATCH -p compute # Partition #SBATCH -N 1 # Number of node #SBATCH --ntasks-per-node=1 # Number of MPI processes per node #SBATCH --cpus-per-task=16 # Number of OpenMP threads per MPI process #SBATCH -t 120:00:00 # Job runtime limit #SBATCH -J TOPAS # Job name #SBATCH -A ltxxxxxx # Account *** {USER EDIT} *** source $HOME/.bashrc echo "Use topas = $(which topas)" topas $HOME/Applications/TOPAS/OpenTOPAS/examples/Basic/BatchJob1.txt # Your case *** {USER EDIT} ***
To submit this job script to the SLURM queuing system, execute
sbatch submitTOPAS.sh
(Also see https://thaisc.atlassian.net/wiki/spaces/LANTA/pages/447021064/Quick+Start+Guide#6.-Running-your-job)
B. Interactive session
You can directly access LANTA computing nodes by requesting an interactive session. For example, execute
sinteract -p compute -c 16 -t 06:00:00
(You could add -X
option to enable X11 forwarding for OpenGL/graphic features. Please visit Interactive session and https://opentopas.readthedocs.io/en/latest/parameters/graphics.html before using this capability)
After the requested resources are allocated, you can use this session to run topas
and interactively execute commands afterwards. For example,
topas $HOME/Applications/TOPAS/OpenTOPAS-install/examples/Basic/TwoBeams.txt
Contact Us
ThaiSC support service : thaisc-support@nstda.or.th