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 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
Alternatively, you could append -DTOPAS_WITH_PTL_GEANT4:BOOL=ON
to the cmake step to compile without graphic support.
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 chmod +x topas echo 'export PATH=~/Applications/shellScripts:$PATH' >> $HOME/.bashrc source $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.
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 ./BatchJobX.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
This second approach can be useful. However, this method is not recommended if your internet connection is poor or you have to run topas
for a long time.
You can request an interactive session by executing, for example,
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