使用Schrodinger软件计算分子结构

本文介绍如何使用E-HPC集群运行Schrodinger软件来计算分子结构。

背景信息

Schrodinger基于物理学的计算平台,集成了用于预测建模、数据分析的差异化解决方案,以实现对化学空间的快速探索,主要应用于药物发现,以及航空航天、能源、半导体和电子显示器等不同领域的材料科学。更多信息,请参见Schrodinger官网

准备工作

  1. 创建E-HPC集群。具体操作,请参见使用向导创建集群

    配置集群时,软硬件参数配置如下:

    参数

    说明

    硬件参数

    部署方式为标准,包含2个管控节点,1个计算节点和1个登录节点。其中计算节点使用GPU实例规格(如ecs.gn5-c4g1.xlarge)。

    软件参数

    镜像选择CentOS 7.6公共镜像,调度器选择Slurm,并打开VNC开关。

  2. 创建集群用户。具体操作,请参见创建用户

    集群用户用于登录集群,进行编译软件、提交作业等操作。本文创建的用户示例如下:

    • 用户名:testuser

    • 用户组:sudo权限组

  3. 安装VMD软件。具体操作,请参见安装软件

  4. 下载并安装Schrodinger软件。

    Schrodinger软件为付费软件,具体购买、下载、安装和使用方式请参见Schrodinger官网

  5. 在计算节点上下载并安装CUDA驱动。

    CUDA驱动的下载和安装请参见NVIDIA CUDA

步骤一:配置Schrodinger使用环境

首次使用Schrodinger软件时,需要先配置好使用环境。

  1. 使用root用户连接集群。具体操作,请参见登录集群

  2. 执行以下命令,修改Slurm调度器的config文件。

    vim /opt/schrodinger/queues/SLURM2.1/config 

    在config文件里配置REMOTE_LICENSE_SERVER=${ehpcname} ,${ehpcname}请替换为您注册Slurm调度器的Lincese时设置的server值,示例如下:

    QPATH=/usr/bin
    QPROFILE=
    QSUB=sbatch
    QDEL=scancel
    QSTAT=squeue
    LICENSE_CHECKING=yes
    REMOTE_LICENSE_SERVER=schrodinge_ehpc-test
  3. 执行以下命令,修改Schrodinger软件的hosts文件配置。

    vim /opt/schrodinger/schrodinger.hosts 

    内容示例如下:

    name: comp-gpu
    queue: SLURM2.1
    qargs: --partition=comp --nodes=1  --ntasks=%NPROC% --mem=3G  --gres=gpu:%NPROC%
    host: manager
    processors: 4
    gpgpu: 0, NVIDIA P100

(条件必选)步骤二:配置自动伸缩

如需实现集群能够根据Schrodinger软件执行的作业需求自动扩容或缩容计算节点,请按照以下指引进行操作。若您无需此功能,请跳过此步骤,继续执行步骤三:提交作业

说明

E-HPC已针对Schrodinger软件进行了适配,支持感知其License配额,并提供自动伸缩服务,以便高效利用计算资源。

  1. 为了确保集群的自动伸缩功能正常运行,请提交工单联系阿里云获取技术支持,配置与该软件License配额相关的感知模块及相应服务。

  2. 启用并配置目标集群的自动伸缩功能。具体操作,请参见配置自动伸缩

    重要

    如果您将配置项队列节点数的最小节点数修改为非0值,集群缩容时该队列会保留最小节点数量的节点,即使是空闲节点也不会被释放。请您谨慎设置最小节点数,以免导致自动缩容后队列中存在空闲节点,造成资源浪费和不必要的经济损失。

步骤三:提交作业

  1. 使用集群用户(本文示例为testuser)连接集群。具体操作,请参见登录集群

  2. 执行以下命令,下载并解压用于测试的算例文件。

    wget https://public-ehpc-package.oss-cn-hangzhou.aliyuncs.com/desmond_md_job_10-GPU.tar.gz
    tar xf desmond_md_job_10-GPU.tar.gz 
  3. 执行以下命令,提交作业。

    cd desmond_md_job_10
    ./desmond_md_job_10.sh

    预期返回示例如下,表示生成的作业ID为manager-0-646496c8。

    JobId: manager-0-646496c8

步骤四:查看作业结果

  1. 执行以下命令,查看作业运行情况。

    squeue

    返回信息中可以看到作业信息,其中STR时,表示作业正在运行中。

                 JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
                     3      comp desmond_ testuser  R       1:27      1 compute000
    说明
    • 作业运行大约需要10分钟。作业运行结束后,您可以执行sacct命令确认作业是否运行完成。

    • 作业结果将输出到desmond_md_job_10-out.cms。

  2. 使用VNC可视化查看作业结果。

    1. 打开VNC。

      1. 弹性高性能计算控制台的左侧导航栏,单击集群

      2. 集群页面,找到目标集群,单击更多 > VNC

      3. 使用VNC远程连接可视化服务。具体操作,请参见连接可视化服务

    2. 在VNC窗口中,选择Application>System Tools>Terminal

    3. 运行/opt/vmd/1.9.3/vmd打开VMD软件。

    4. 在VMD Main对话框中,选择File > New Molecule...

    5. 单击Filename处对应的Browse...,选择结果文件desmond_md_job_10-out.cms。

      本文使用testuser用户作为示例,作业结果文件所在路径为/home/testuser/desmond_md_job_10/desmond_md_job_10-out.cms

    6. 单击Load,可在VMD 1.9.3 OpenGL Display窗口查看可视化结果。

      Schrodinger结果..png