コンテンツにスキップ

System Application , Freeware

Info

The command line examples on this page use the following notation
[login]$ : login node
[rNnN]$ : compute node
[login/rNnN]$ : login node or compute node
[yourPC]$ : environment from which the login node is connected

How to use Python packages on PyPI (e.g. Theano)

You can install modules into your home directory (Example: Theano case)

[login]$ pip install --user theano

How to install numpy, mpi4py, chainer, tensorflow, cupy etc. using python/3.9.18

If you want to install numpy, mpi4py, chainer etc. using python/3.9.18, do as follows.

[rNnN]$ module purge
[rNnN]$ module load intel cuda openmpi
[rNnN]$ python3 -m pip install --user python_modules
If you want to specify the version, do:
[login/rNnN]$ python3 -m pip install --user python_modules==version
When installing a module that uses GPU like cupy etc., please keep computing nodes with qrsh command. before you install it.

I want to install and use my library in R

In TSUBAME4.0, R-4.3.2 is available.
In addition to the basic package, the libraries available as default are as follows.

 Rmpi, rpud
Please use library() command to check other available libraries.

If you wish to use a library other than the above, you will need your own installation operation.
Since the installation directory of R is impossible due to the permission relationship, you can install / manage your own library after specifying the library path. The procedure is as follows.

Assuming that the library path is $HOME/Rlib, the library name is testlib, and the testlib.tar.gz is the source package, and operate as follows.

[rNnN]$ module purge                                                 # purge module setting
[rNnN]$ module load cuda openmpi R                                   # Load modules
[rNnN]$ mkdir ~/Rlib                                                 # Create library installation directory (if nothing)
[rNnN]$ wget https://cran.r-project.org/src/contrib/testlib.tar.gz   # Downlod package
[rNnN]$ R CMD INSTALL -l $HOME/Rlib testlib.tar.gz                   # Install library
[rNnN]$ export R_LIBS_USER=$HOME/Rlib                                # Your own installation library settings
[rNnN]$ R                                                            # Use your library
> library(testlib)

An error occurs when mpi4py.futures.MPIPoolExecutor with openmpi is called

Sometimes like the following error occurs when mpi4py.futures.MPIPoolExecutor with openmpi is called.

[rNnN:xxxxx] [[60041,0],0] ORTE_ERROR_LOG: Not found in file orted/pmix/pmix_server_dyn.c at line 87
If you faced the error, please try ether the one of the following:
1. mpirun -np python3 -m mpi4py.futures ./test.py

  1. use mpi4py with intel MPI

file output stops by doing mpirun ... >& log.txt & with intel MPI

With intel MPI, output might stop by doing background execution like the following.

[rNnN]$ mpirun ... ./a.out >& log.txt &
In this case, it can be avoided by the following:
[rNnN]$ mpirun ... ./a.out **< /dev/null >**& log.txt &

I want to link Intel oneAPI Math Kernel Library, what are the link options?

If you want to link Intel oneAPI Math Kernel Library、please fill the appropriate contents into Intel oneAPI Math Kernel Library Link Line Advisor, and get the link opthion from "Use this link line”.

ifort, icc, icpc commands cannot be used with Intel OneAPI

Starting with Intel oneAPI 2024, the icc and icpc commands are no longer available.
Please use the icx and icpx commands.
And, starting with Intel oneAPI 2025, the ifort command is no longer available.
Please use the ifx command.

C++17 related errors occur when using Intel oneAPI.

Since Intel oneAPI 2024, the default standard for C++ has changed from C++14 to C++17.
As a result, the following error may occur

  • error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  • error: ISO C++17 does not allow dynamic exception specifications [-Wdynamic-exception-spec]

For more information, see here.
If this error occurs, do one of the following

  • Modify the source code to conform to the C++17 standard.
  • Specify the option -std=c++14 during translation to compile with the C++14 standard.

Unable to module load python

Python 3 is available by default in TSUBAME4.0.
No module load required.

When running OpenMPI/Intel MPI, an hcoll-related error or segmentation fault occurs.

This may be improved by specifying the following environment variables.

OpenMPI:export OMPI_MCA_coll=^hcoll
Intel MPI:export I_MPI_COLL_EXTERNAL=0
If the problem persists, try the following specifications in addition to those listed above.
UCX_ROOT=/apps/t4/rhel9/free/ucx/1.16.0-rc4/gcc11.4.1/lib  
export LD_PRELOAD=$UCX_ROOT/libucm.so:$UCX_ROOT/libucp.so:$UCX_ROOT/libucs.so:$UCX_ROOT/libucs_signal.so:$UCX_ROOT/libuct.so  

Info

When implementing the LD_PRELOAD export described in this topic, ensure it is executed on a single node. It has been confirmed that running QUANTUM ESPRESSO with this configuration on a multi-node system causes a kernel panic, and similar issues may occur with other applications.

Binaries compiled with the -lblas option in Intel Compiler terminate abnormally at runtime

Intel Compiler provides a numerical calculation library called Intel MKL.
When using BLAS with Intel Compiler, please change the option to link the Intel MKL library instead of -lblas. For details, please refer to How to link Intel MKL.
Note that a wide variety of numerical calculation libraries exist, including dedicated libraries such as Intel MKL.Some of them have dependencies or conflicts among libraries.
If an error occurs in a numerical calculation library, please consider checking for conflicts or using another library.

GPU not used when running TensorFlow

When running TensorFlow on a GPU, there are requirements for the combination of TensorFlow, python, cudnn, and cuda.
Please refer to Tensorflow for details.

I want to use Alphafold related databases

We have prepared databases on TSUBAME for use with the following software. These database files are large in size, so please avoid downloading them individually if at all possible.
Please refer to the respective links for details on how to use them.
- Alphafold2 database
- Alphafold3 database
- LocalColabfold database

If you want to use a version of python that is not installed in TSUBAME4.0

If you want to use a version of python that is not installed in TSUBAME4.0, you need to install it by yourself.
We will show you three different ways to install python.

Info

  • The procedures described here and your own installation of python are not supported.
  • Here is an example of installing version 3.13.4. If you want to install a different version, replace "3.13.4".
  • This work must be done on compute node, assuming Interactive job queue(iqrsh) or Interactive job(qrsh) is used.

Install in conda environment

The following is an example of using miniconda installed in TSUBAME4.0.

[rNnN]$ module load miniconda

# When you module load miniconda , you will get a "please do: eval~~~" message, so refer to the miniconda page to configure the settings.  
[rNnN]$ eval "$(/apps/t4/rhel9/free/miniconda/24.1.2/bin/conda shell.bash hook)"

# Check the version of the python you want to install.
[rNnN]$ conda search python | tail -n1    # This is a sample of displaying only the latest version. If you want to display all versions, do not specify "  | tail -n1 ". 

# Create a virtual environment containing python.   
[rNnN]$ conda create -n [virtual_environment_name] python==[version_of_python ] -y
To use the installed python, perform the following steps.
[login/rNnN]$ module load miniconda
[login/rNnN]$ conda activate [virtual_environment_name]    # Activate the created virtual environment 
(virtual_environment_name)[login/rNnN]$ python -V          # Check the version of python (optional)

Install from source code

Info

Check python.org for available versions.

[rNnN]$ export pybase=[install_path]
[rNnN]$ export pyver=3.13.4                      # Set the version to be installed 
[rNnN]$ export pyinst=${pybase}/python${pyver}   # Set the installation path

# Download and extract the source code.
[rNnN]$ mkdir ${pyinst} && cd ${pyinst}
[rNnN]$ wget https://www.python.org/ftp/python/${pyver}/Python-${pyver}.tgz
[rNnN]$ tar xf Python-${pyver}.tgz && cd Python-${pyver}

# configure, build, and install. ( change log_ filename and options if necessary)
[rNnN]$ ./configure --prefix=${pyinst} 2>&1 | tee -a log_config
[rNnN]$ make -j 2>&1 | tee -a log_make
[rNnN]$ make install 2>&1 | tee -a log_inst
To use the installed python, perform the following steps.

Info

Replace ${pyinst} with the installation path you specified yourself.

[login/rNnN]$ export PATH=${pyinst}/bin:${PATH}     # Specify the path to the installed python in the PATH environment variable 
[login/rNnN]$ python -V                             # Check the version of python (optional)

Install in pyenv environment

Info

The configuration for using pyenv depends on your environment.
Please refer to official website. TSUBAME4.0 does not support pyenv.

# Install pyenv
[rNnN]$ export pybase=[Installation_path_of_pyenv]    # Setting up the installation path of pyenv
[rNnN]$ export pyver=3.13.4                      # Setting of the version to install

[rNnN]$ cd ${pybase}
[rNnN]$ git clone https://github.com/pyenv/pyenv
[rNnN]$ export PATH=${pybase}/pyenv/bin:${PATH}
[rNnN]$ pyenv --version

# Check the version of python provided by pyenv.
[rNnN]$ pyenv install --list | grep ${pyver}

# Install the specified version and change the version to the default for pyenv.
[rNnN]$ pyenv install ${pyver}
[rNnN]$ pyenv versions
[rNnN]$ pyenv global ${pyver}

To use the installed python, perform the following steps.

Info

  • Replace ${pybase} and ${pyver} with the values you specified yourself during installation.
  • "export PATH=${pybase}/pyenv/bin:${PATH}" can be omitted by defining it in .bashrc.
[login/rNnN]$ export PATH=${pybase}/pyenv/bin:${PATH}  # Specify the path to the installed pyenv in the environment variable PATH
[login/rNnN]$ pyenv global ${pyver}                    # Switch python version to the version specified in ${pyver}
[login/rNnN]$ python -V                                # Check the version of python (optional)

When using OpenMPI, I want to configure the CPU core binding method

When configuring CPU core binding methods for OpenMPI, the following are typical approaches:

  • Use the "numactl" command
  • Use options such as --bind-to, --map-by, or --rand-by with the mpirun command

For details on using the numactl command, refer to "man numactl". For details on the various mpirun command options, refer to "man mpirun".

[Example Usage]

When running 1 process with 192 threads, threads were concentrated on a single core(CPU) by default.  
$ export OMP_NUM_THREADS=192
$ mpirun -npernode 1 -n 1 -x LD_LIBRARY_PATH -x OMP_NUM_THREADS ./a.out

(Add P (Last Used CPU (SMP)) to the "top" command)
PID     USER     S  %CPU   TIME+   COMMAND        P   
3112554 ux00000  S   0.0   0:00.00 a.out          192
3112555 ux00000  S   0.0   0:00.00 a.out          192
3112556 ux00000  S   0.0   0:00.01 a.out          192
3112557 ux00000  S   0.0   0:00.00 a.out          192
3112558 ux00000  S   0.0   0:00.00 a.out          192
(Omitted)

By specifying the --bind-to numa option, it was distributed and assigned per NUMA node.  
$ export OMP_NUM_THREADS=192
[ux00000@r5n10 ~]$ mpirun --bind-to numa -npernode 1 -n 2 -x LD_LIBRARY_PATH -x OMP_NUM_THREADS ./a.out

(Add P (Last Used CPU (SMP)) to the "top" command)
PID     USER     S  %CPU   TIME+   COMMAND        P   
3116060 ux00000  S   0.0   0:00.00 a.out           57 
3116061 ux00000  S   0.0   0:00.00 a.out          193
3116062 ux00000  S   0.0   0:00.00 a.out          194
3116063 ux00000  S   0.0   0:00.00 a.out          196
3116064 ux00000  S   0.0   0:00.00 a.out          199
(Omitted)

Info

The combination of compiler and mpi module

GNU, Intel oneAPI, NVDIA HPC SDK and OpenMPI can be used in combination.

gcc is provided by the OS. Please check the available version with the following command.

[login/rNnN]$ gcc --version
[login/rNnN]$ module avail

Info

Please note that if you use any other OpenMPI than the following OpenMPI provided with TSUBAME4.0, the operation is not guaranteed and not supported.
The OpenMPI versions listed in this document may not be the latest. Please check the available version with module avail openmpi command. (Unless there is a specific reason not to, we recommend using the latest version.)

1. Intel OpenMPI

[rNnN]$ module purge
[rNnN]$ module load openmpi/5.0.2-intel
Loading openmpi/5.0.2-intel
  Loading requirement: intel/2024.0.2 cuda/12.3.2
[rNnN]$ mpicc -v
Intel(R) oneAPI DPC++/C++ Compiler 2024.0.2 (2024.0.2.20231213)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /apps/t4/rhel9/isv/intel/compiler/2024.0/bin/compiler
Configuration file: /apps/t4/rhel9/isv/intel/compiler/2024.0/bin/compiler/../icx.cfg
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/11
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/11
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
Found CUDA installation: /apps/t4/rhel9/cuda/12.3.2, version

2. GNU OpenMPI

[rNnN]$ module purge
[rNnN]$ module load openmpi/5.0.2-gcc
Loading openmpi/5.0.2-gcc
  Loading requirement: cuda/12.3.2
[rNnN]$ mpicc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-host-pie --enable-host-bind-now --enable-languages=c,c++,f
ortran,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/
bugzilla --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit -
-disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --en
able-plugin --enable-initfini-array --without-isl --enable-multilib --with-linker-hash-style=gnu --enable-offload-ta
rgets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_6
4=x86-64-v2 --with-arch_32=x86-64 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serial
ization=1
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.4.1 20230605 (Red Hat 11.4.1-2) (GCC)

3. NVIDIA HPC SDK OpenMPI

[rNnN]$ module purge
[rNnN]$ module load openmpi/5.0.2-nvhpc
Loading openmpi/5.0.2-nvhpc
  Loading requirement: nvhpc/24.1
[rNnN]$ mpicc -v
Export NVCOMPILER=/apps/t4/rhel9/isv/nvidia/hpc_sdk/Linux_x86_64/24.1
Export PGI=/apps/t4/rhel9/isv/nvidia/hpc_sdk
nvc-Warning-No files to process

Can Docker be used with TSUBAME4.0?

Can Singularity be used with TSUBAME4.0?

Can container be used with TSUBAME4.0?

Docker cannot be used with TSUBAME4.0. Apptainer(Singularity) is available.
For more information, see Use containers.

Can I use Jupyter Lab with Tsubame 4.0?

Jupyter Lab is available in Tsubame4.0. See Open OnDemand User's Guide.

I want to use a debugger/profiler that supports multi-threading/multi-processing

Linaro Forge(ex:Arm forge) is available.
Please refer to "Parallel Programming" on the Lectures page for information on how to use it.

GLIBC not found error when using Apptainer

When using the fake root function (--fakeroot) in Apptainer, the libc version must be matched between the host and the container.
If they do not match, you may get the following error.

/.singularity.d/libs/faked: /lib/x86_64-linux-gnu/libc.so.6: version`GLIBC_2.33' not found (required by /.singularity.d/libs/faked)
/.singularity.d/libs/faked: /lib/x86_64-linux-gnu/libc.so.6: version`GLIBC_2.34' not found (required by /.singularity.d/libs/faked)
fakeroot: error while starting the `faked' daemon.
/.singularity.d/libs/fakeroot: 1: kill: Usage: kill [-s sigspec | -signum |-sigspec] [pid | job]... or
kill -l [exitstatus]
For details, see Precautions when using fakeroot .

I want to use VS Code.

Access to login nodes using VS Code is prohibited because it places a heavy load on the login nodes.
Please refrain from occupying the CPU in the login nodes.
In TSUBAME4.0, it is possible to connect to compute nodes via Open OnDemand using code server.
Please consider using code server. Please refer to Open OnDemand User's Guide for details on how to use it.