Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

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

  • No labels