CHESS Intelligent Computing Platform
website·Indexed 32 days ago
https://hpc.biodesign.ac.cnThe unified portal for the Taihang I high-performance data and computing platform at the Tianjin Institute of Industrial Biotechnology, Chinese Academy of Sciences. It provides resources for biological design, including Slurm job scheduling (sbatch, srun, salloc), virtual desktops, and specialized tools such as AlphaFold 2/3, RFdiffusion 2/3, Boltz-2, ParallelFold, Foldseek, Amber, MATLAB, RStudio, and JupyterLab.
What's inside CHESS
- Boltz-2 is a prediction tool for structural biology and drug discovery tasks, including protein structure prediction, protein-ligand binding modeling, and binding affinity assessment. On the CHESS platform, Boltz-2 is encapsulated as an application, allowing users to submit tasks via a graphical user interface (GUI) without writing Slurm scripts.
Overview of RFdiffusion2 on CHESS Platform
RFdiffusion2 is a second-generation protein generation and design tool from the Baker lab, used for protein backbone design, binding site design, and small molecule binding protein design. On the CHESS platform, it is encapsulated as an application, allowing users to submit jobs via a graphical user interface (GUI) using JSON input files without needing to write Slurm scripts manually.Overview of ParallelFold on CHESS Platform
ParallelFold is a parallel computing tool for protein structure prediction that integrates AlphaFold's monomer and multimer prediction workflows. On the CHESS platform, it is encapsulated as an application, allowing users to submit GPU jobs by providing FASTA files, selecting a prediction type, and specifying an output directory.Overview of RFdiffusion3 on CHESS
RFdiffusion3 (RFD3) is a diffusion model for all-atom biomolecular design, capable of generating protein designs under constraints such as structure, sequence, and ligands. On the CHESS platform, it is encapsulated as an application where users submit GPU jobs via a graphical interface using JSON configuration files and PDB/CIF structure files.Overview of tmux terminal multiplexing
tmux is a terminal multiplexer that allows users to create multiple sessions, windows, and panes within a single SSH connection. It is particularly useful for long-running tasks such as compilation, data processing, or log monitoring, as sessions persist even if the network disconnects or the local terminal is closed. For HPC environments, it is recommended to enter the specific compute node before starting a tmux session to ensure the session remains on the correct node.Overview of Slurm job execution methods
Slurm provides three primary ways to run jobs depending on the use case:
- Batch Processing (
sbatch): Best for formal computations and long-running tasks. Jobs run in the background via a script. - Interactive Jobs (
srun): Best for short-term testing, debugging, and viewing real-time output. Resources are allocated and the command is executed immediately. - Interactive Resource Allocation (
salloc): Best for allocating a node to run multiple commands sequentially or hosting graphical tools like JupyterLab and VSCode Server.
- Batch Processing (
TIB Intelligent Computing infrastructure overview
The TIB Intelligent Computing platform provides a computational foundation for research workloads, featuring:
- 4,576 CPU cores
- 230 Intelligent acceleration cards (GPUs)
- 200G HDR high-speed interconnect
- 11P storage capacity
- Support for workflows ranging from interactive debugging to large-scale batch processing.
Essential Linux skills for HPC platform users
To effectively upload data, prepare scripts, and submit jobs on the HPC platform, users should prioritize learning the following areas:
- Paths and Directories: Locating data, scripts, and results.
- File Viewing: Checking input files, logs, and job outputs.
- File Manipulation: Copying, moving, compressing, and decompressing files.
- Permissions: Determining if scripts are executable or files are readable/writable.
- Text Editing: Modifying job scripts and configuration files.
- Resource Monitoring: Checking running processes and disk space.
Manage software environments using the module command
Themodulecommand is used to load and unload specific versions of software (compilers, MPI, CUDA, scientific tools) to avoid version conflicts and ensure the correct environment is available in the current shell.Taihang-I High-Performance Computing Platform Overview
The 'Taihang-I High-Performance Data and Computing Platform' is operated by the Biological Design Center of the Tianjin Institute of Industrial Biotechnology, Chinese Academy of Sciences. It provides high-performance computing, intelligent acceleration, virtualization services, and high-performance storage for large-scale biological design calculations and data processing tasks.
Current Platform Scale:
- Total System Cores: 4576
- Intelligent Acceleration Cards: 230
- CPU Computing Power: 220 TFOPS
- GPU Computing Power: 312 TFOPS
Launch MATLAB via the Portal GUI
The graphical interface is recommended for interactive analysis, plotting, and program debugging. Users can launch MATLAB through the platform portal. If the MATLAB icon is missing from the desktop, it can be added from the 'Application Center'.
To create a new MATLAB job:
- Navigate to the MATLAB application submission page in the portal.
- Enter the job name and select the appropriate queue and billing project.
- Select the desired MATLAB version.
- Enable the 'Graphical' option (set to 'Yes') and choose a resolution if a GUI is required.
- Set the working directory (use personal or project directories; avoid relying solely on temporary directories).
- Submit the job and enter the GUI once the status changes to 'Running'.
Note: Closing the browser tab does not necessarily terminate the background job. Save your work and exit MATLAB normally, then confirm the job has ended in the portal to release resources.
Run interactive tests with srun and salloc
For short-term debugging or environment checks, usesrunto launch an interactive shell. For more complex interactive sessions (like running multiple commands or IDE servers), usesallocto reserve resources first.# Start an interactive bash session with srun srun --partition=qcpu --cpus-per-task=4 --mem=8G --time=01:00:00 --pty bash # Allocate resources with salloc salloc -N 1 --cpus-per-task=4 --mem=8G --time=01:00:00 --partition=qcpu