Updated: 15 20 September 2024
Table of Contents |
---|
minLevel | 1 |
---|
maxLevel | 4 |
---|
style | circle |
---|
|
...
This interactive 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.
On a HPC, running OpenTOPAS in batch mode is preferred. Please visit … to install OpenTOPAS that suitable for batch mode.
Info |
---|
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.)
Code Block |
---|
|
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]
Code Block |
---|
|
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]
Code Block |
---|
|
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 |
4. Download G4DATA [Step 6]
Note |
---|
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 . |
Code Block |
---|
|
cd $HOME/Applications/GEANT4/
cp -r /project/common/G4DATA . |
5. Download OpenTOPAS [Step 8.1]
Code Block |
---|
|
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.
Code Block |
---|
|
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]
Code Block |
---|
|
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 |
Info |
---|
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]
Code Block |
---|
|
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
Note |
---|
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.
Note |
---|
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.
You can request an interactive session by executing, for example,
Code Block |
---|
|
#!/bin/bash
#SBATCHsinteract --X11 -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-c 16 -t 12006: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
Code Block |
---|
|
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,
Code Block |
---|
|
sinteract -p compute -c 16 -t 06:00:00 |
...
The X11 forwarding feature may require further setup.
If you use MobaXterm, the X11 forwarding should be supported by default.
If you login from a Linux terminal, set ForwardX11Trusted
in /etc/ssh/ssh_config
to yes
and then login using ssh -Y username@lanta.nstda.or.th
.
If you login from a Windows/Mac terminal, you need to install and run a X11 server, such as Xming and XQuartz, while using. Then login using ssh -Y username@lanta.nstda.or.th
.
Please visit Interactive session for more details.
After the requested resources are allocated, you can use this session to run topas
and interactively execute commands afterwards. A graphic window should appears when objects are rendered. For example, run
Code Block |
---|
|
topas $HOME/Applications/TOPAS/OpenTOPAS-install/examples/Basic/TwoBeamsOneBox.txt |
...
Contact Us
ThaiSC support service : thaisc-support@nstda.or.th
...