常见问题 FAQ

程序不支持CentOS 6,怎样运行并提交任务?

在所有节点中,c002~c009和其他所有的GPU工作站都部署了CentOS 7操作系统, 可以通过 ssh -Y nodename 的方式登录计算节点,运行只支持CentOS 7的程序。 GPU(amax/baode)节点均已安装torque-client并启用了trauq服务,可以运行 qsub 等命令提交计算任务。

怎样在我的家目录中编译Scipion3?

Scipion3 安装使用需要 CentOS 7 环境,以下操作请先切换至c002~c009节点或GPU工作站

安装 miniconda3

$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
$ bash Miniconda3-latest-Linux-x86_64.sh -b -p ~/miniconda3

$ source ~/miniconda3/etc/profile.d/conda.sh
# 将 source ~/miniconda3/etc/profile.d/conda.sh 添加至 .bashrc

安装 Scipion3

$ conda activate
(base)$ pip3 install scipion-installer
(base)$ python3 -m scipioninstaller -conda -noXmipp -noAsk ~/apps/scipion/3
(base)$ ~/apps/scipion/3/scipion3 config --overwrite
配置 Scipion3
修改 ~/apps/scipion/3/config/scipion.conf 文件,将以下行添加至末尾
CUDA = True
CUDA_BIN = /data/apps/cuda/10.2/bin
CUDA_LIB = /data/apps/cuda/10.2/lib64
MPI_BINDIR = /share/apps/openmpi/4.0.5/bin
MPI_LIBDIR = /share/apps/openmpi/4.0.5/lib64
MPI_INCLUDE = /share/apps/openmpi/4.0.5/include
OPENCV = False

安装 Xmipp 插件

(base)$ module openmpi/4.0.5 gcc/8 cuda/10.2
(base)$ ~/apps/scipion/3/scipion3 installp -p scipion-em-xmipp -j 12 | tee -a install.log
(base)$ conda deactivate

运行 Scipion3

$ ~/apps/scipion/3/scipion3

怎样编译novaCTF?

下载novaCTF源代码:

# 切换至 CentOS 7 节点
ssh c006
git clone https://github.com/turonova/novaCTF
cd novaCTF

使用intel/21.3编译器编译,修改 makefile

 8CXX = icpc -O3 -s -DNDEBUG
 9CXXFLAGS = -std=c++14
10LDFLAGS =

加载intel编译器编译

source /data/apps/intel/2021.3/setvars.sh
make

运行 novaCTF,切换至CentOS 7节点或提交任务至avx2队列:

module load intel/21.3

# 用户自编译路径
./novaCTF

# 公共程序路径
/share/apps/novaCTF/novaCTF

怎样自定义编译特殊版本的RELION?

集群已提供默认选项编译的cuda版本和avx版本,RELION源代码还支持多种编译选项,例如单精度CPU: -DDoublePrec_CPU=OFF,双精度GPU: -DDoublePrec_GPU=ON, 根据GPU显卡型号,还可选择不同的计算能力 -DCUDA_ARCH=50 (50 代表 5.0), GPU的支持能力参见 NVIDIA 网站

首先准备RELION源代码:

# RELION 3.1
git clone https://github.com/3dem/relion.git

# to switch to RELION-4.0
git checkout ver4.0

加载编译环境:

module load cuda/11.4 cmake/3.11.4

# 加载Intel编译器
source /data/apps/intel/2021.3/setvars.sh

# 使用外部预编译的FLTK-1.3.8
export PATH=/share/apps/fltk/1.3.8/bin:$PATH

编译并安装,假设安装于/home/yuhai/apps/relion:

mkdir mybuild
cd mybuild
cmake -DDoublePrec_CPU=ON -DDoublePrec_GPU=ON \
  -DFLTK_LIBRARIES=/share/apps/fltk/1.3.8/lib \
  -DFLTK_INCLUDE_DIR=/share/apps/fltk/1.3.8/include \
  -DCMAKE_INSTALL_PREFIX=/home/yuhai/apps/relion \
  -DMKLFFT=ON -DCUDA=ON -DCUDA_ARCH=50 \
  -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc \
  -DMPI_C_COMPILER=mpiicc -DMPI_CXX_COMPILER=mpiicpc \
  -DCMAKE_C_FLAGS="-O3 -ip -g -xCORE-AVX2 -restrict " \
  -DCMAKE_CXX_FLAGS="-O3 -ip -g -xCORE-AVX2 -restrict " ..

make -j 8
make install

备注

cmake 参数说明:

  • -DCMAKE_INSTALL_PREFIX=/home/yuhai/apps/relion: 指定编译完安装位置;

  • -DDoublePrec_CPU=ON: 指定是否开启CPU双精度模式,默认开启;

  • -DDoublePrec_GPU=OFF: 指定是否开启GPU双精度模式,默认关闭;

  • -DCUDA_ARCH=50: 指定GPU计算能力版本,3.1默认35,4.0默认50;

  • -DALTCPU=ON: 使用Intel AVX指令集加速,与CUDA加速(-DCUDA=ON)互斥;

  • -DFLTK_LIBRARIES=/share/apps/fltk/1.3.8/lib: 指定外部FLTK库位置;

  • -DFLTK_INCLUDE_DIR=/share/apps/fltk/1.3.8/include: 指定外部FLTK库头文件位置;

  • -DMKLFFT=ON: 使用Intel编译器内置的FFT库;

运行RELION:

module load intel/21.3 cuda/11.4
export LD_LIBRARY_PATH=/share/apps/fltk/1.3.8/lib
export PATH=/home/yuhai/apps/relion/bin:$PATH
relion

# to run the on-the-fly script:
module load python/2.7.15
relion_it.py