Code Monkey home page Code Monkey logo

th2-demos's Introduction

在线的,易于修改的天河二号的使用文档。

此resp将会被移除,有使用上的问题请直接联系[技术支持邮箱 : [email protected] ]

为何需要一个在线的文档?天河的某些使用方式可能会有变化,您可以通过订阅这个GitHub repo来了解新的动态。或者,您可以发起/跟踪某个具体的Issues(在Issues页码右下角的 Notifications 里设置)。

Code

在Code 板块中,演示一些使用操作(如 Use VNC 使用虚拟桌面环境 )和一些说明,可能还会发布一些小的脚本工具。

会尽量将文档放到 github WIKI 中, CODE 模块 不再使用。

由于要统一技术支持的入口。

将不在响应此issus,有问题请直接发邮件至 [email protected]

新的issus 将不再回应。

此 resp 也将在一段时间后移除。

在Issues 板块中, 您可以提出一些通用性问题,这里绑定了我的企业邮箱。我会尽快给您答复

不过

  • 在提新问题之前最好先搜索一下已有问题(已经解决的问题是Closed 状态,要点一下才能看到),或许答案已经在这里了 。 在此repository 运营稳定后,会定期将 Issues 中的问题整理到 WiKi 里。 但目前还是以Issues 为主。
  • 无论我的回复有没有解决您的问题,都请给出回复,以方面我进行下一步的协助或Close 此问题
  • 欢迎用户间的相互探讨 ! 也欢迎乐于分享的您开设关于使用TH2 的 repository .

th2-demos's People

Contributors

hliang avatar jianglinscc avatar lijiang2014 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

th2-demos's Issues

GPU计算结点与存储结点的数据通信问题

大家好,我们的算法分两部分,前端是MATLAB,后台是python(调用GPU进行计算),计算过程中有中间文件生成,但是这些文件只是自用,不需要缓存到存储结点的磁盘上。但是实际情况是MATLAB生成的数据文件会先缓存到天河的存储结点上,然后python端再从存储结点读取进行处理,同理,python端生成的文件也会先缓存到存储结点上,再由MATLAB读取进行处理,这样一来一回通信开销很大,导致计算速度很慢,实际情况是我们生成的中间文件不大,GPU结点自带的内存完全够用,我想请问大家如何有没有遇到过类似情况的,如何让中间数据不存储到存储结点上而是存储到内存上?

欢迎交流~

天河二号单节点性能测试

yhbatch -N 1 -n 1 -c 1 -p evaluating ./elm_pb
elm_pb为可执行文件,按照测试提供的指导,这样提交任务,出现了错误
yhbatch: error: This does not look like a batch script. The first
yhbatch: error: line must start with #! followed by the path to an interpreter.
yhbatch: error: For instance: #!/bin/sh
另外 -n 1 代表指定一个进程,不理解?

GPU 分区状态不可用及后续规划

  • 目前TH2 HPC 系统原 普通用户的 GPU 分区暂处于不可用状态。

  • NSFCGZ 基金用户分区的 GPU 分区正常使用(不过是比较老的卡 M2050 )。

  • 普通用户的GPU分区规划将采用机架服务器重建,并且每个节点将配置两块性能强劲的 K80 , 以提供更加高性能和稳定的GPU环境。不过最近系统部工作比较繁忙,预计于三月上旬完成的重建可能会延期。分区可用后会在此再通知。

Git 远程仓库

我在天河2号上面有一个远程仓库,想和我本地的仓库保持同步,但是没有权限,能申请权限吗?

debug1: Reading configuration data /Users//.ssh/config
debug1: /Users/
/.ssh/config line 35: Applying options for gzcs
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 53: Applying options for *
debug1: Connecting to 172.16.22.11 [172.16.22.11] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /Users/%KeyDir%/%IdentityFile% type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/%KeyDir%/%IdentityFile%-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000
debug1: Authenticating to 172.16.22.11:22 as 'git'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: diffie-hellman-group-exchange-sha256
debug1: kex: host key algorithm: ssh-rsa
debug1: kex: server->client cipher: aes128-ctr MAC: [email protected] compression: none
debug1: kex: client->server cipher: aes128-ctr MAC: [email protected] compression: none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(2048<3072<8192) sent
debug1: got SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: got SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: ssh-rsa SHA256:8OVFevV4Qv+vNon9S1Yityp93kEoa0N2QN3A7VunDdE
The authenticity of host '172.16.22.11 (172.16.22.11)' can't be established.
RSA key fingerprint is SHA256:8OVFevV4Qv+vNon9S1Yityp93kEoa0N2QN3A7VunDdE.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.22.11' (RSA) to the list of known hosts.
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/%KeyDir%/%IdentityFile%
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

matlab v14 常见问题

matlab 14 的使用请参考 : emuch.net-如何在天河II上安装和使用MATLAB.pdf
安装好后,使用Matlab 前需要要进行一系列设置,不然会出错:

  1. Error: locale::facet::_S_create_c_locale name not valid

需: export LC_ALL=C
2. Error: Cannot find libX...
需: source /WORK/app/osenv/ln1/set2.sh
3. 莫名奇妙的其他错误
需 使用docker 等有较完整的节点,或使用 -nojvm 模式(此模式下部分Matlab 功能无法使用 )
4. 其他问题,请查看有没有已有相关issues , 没有就直接新建
matlab issues

MATLAB 运行出错 : There was an error trying to initialize the HPI library.

此问题出错见于 2017/1/17 。 MATLAB 版本为 “ R2012a (7.14.0.739) 64-bit (glnxa64)”
分析原因应为 MATLAB 版本与系统JAVA 版本之间有冲突。
修复办法为指定MATLAB 的JAVA 环境为其他JAVA 环境 :

export MATLAB_JAVA=/NSFCGZ/app/java/jdk1.8.0_11/jre
export JAVA_HOME=/NSFCGZ/app/java/jdk1.8.0_11/jre/bin

MATLAB : 15版本脚本提交 Exit -1

前几天帮助用户指导使用MATLAB 15 的,遇到了的问题,在此汇总一下:

  1. 提交到 work / free 分区 下的 MATLAB 程序会遇到 资源无法释放的问题 。 结点长期处于 CG 状态。
  2. *使用 yhalloc 然后 ssh 然后 matlab 的方式来使用一切顺利;但是直接用 yhbatch 来调用matlab 进行脚本计算则会直接出错退出 , 而且没有什么有价值的信息,只是一个EXIT -1 * , 根据经验及后来的再次尝试,只能换成14 版本。14版本无此问题。

Mathematica的安装

你好!我在天河二号自己的用户下安装了mathematica, 进行了激活。在登录节点上mathematica是可以
运行的。如下:
[xxxxx@ln1%tianhe2-C ~]$ math -run < test_mathematica.m
Mathematica 11.1.1 Kernel for Linux x86 (64-bit)
Copyright 1988-2017 Wolfram Research, Inc.

In[1]:=
Out[1]= 5050

In[2]:=
149
Out[2]= ---
6

In[3]:=
30449
Out[3]= -----
6**
然后我将上面的运算通过脚本提交之后,出来了如下的输出
**Mathematica 11.1.1 Kernel for Linux x86 (64-bit)
Copyright 1988-2017 Wolfram Research, Inc.

Mathematica cannot find a valid password.

For automatic Web Activation enter your activation key
(enter return to skip Web Activation):
You will need to get a password from your
license certificate or from Wolfram Research
(http://register.wolfram.com).
Machine name: cn5755
MathID: 6520-23869-64467

You will need a valid activation key and password in order
to proceed. Go to http://user.wolfram.com to
register your activation key and obtain the password.

Enter your Activation key [format xxxx-xxxx-xxxxxx]:
Enter your password:
The password you entered is not valid.
Please press Enter to quit.**
请问这个是什么原因呢?谢谢!

CALYPSO 计算软件在天河上的稳定性优化

CALYPSO 软件 是一款结构预测软件,会调用VASP 来进行结构的计算。

感谢用户 ac_hpstar_xdong_3 提供帐号和算例进行测试和答疑

软件的基本工作模式

通过脚本 caly.sh 调用 主程序 calypso.x 会自动生成 vasp 的算例 , 然后通过 submit.sh 脚本调用 vasp 计算任务 。
在 VASP 计算进行到一段程度后 , 主程序 calypso.x 会退出 submit.sh 并开始下一个 submit.sh .
即, calypso.x 会一直存在(直到达成条件退出?) , 而 vasp 会被 submit.sh 不断调用,但同时应该只有一个是正常的。

简单的调用及其问题

caly.sh 如下 :

#!/bin/bash
./calypso.x >cly.log 2>&1

显而易见, 在TH-2 上,一个简单的submit.sh 可以这样写:

#!/bin/sh
yhrun -n 23   vasp > vasp.log 

但是用户在实际运算过程中会发现问题:

当SLURM 阻塞时,会导致 calypso.x 退出 submit.sh 时无法关闭原来的作业(表现为 VASP 进程无法退出) 和/或 提交新的 submit.sh yhrun 创建作业步失败 。

这个问题内部的原因是 :

SLURM 会对用户的作业进行监管, 监管过程涉及 计算节点上的 slurmd 和 SLURM 管理节点之间的通信。如果遇到管理节点通信阻塞,作业步的创建和退出就可能会出现问题。

本来管理节点是很少阻塞的,但是目前系统负载率比较高了,还是比较容易发生SLURM 管理节点繁忙的情况的,而 calypso.x 又会频繁的进行作业的创建,如果遇到了SLURM 繁忙,则由于创建不成功导致循环创建,进而导致SLURM 的 拥堵更甚。

slurm 对作业步的管理我们可以通过 yhacct 来进行查看 :

[ac_hpstar_xdong_3@cn4218%tianhe2-C ~]$ yhacct  -j 128806 | tail
128806.492         vasp            ac_hpstar+         23  COMPLETED      0:0
128806.493         vasp            ac_hpstar+         23  COMPLETED      0:0
128806.494         vasp            ac_hpstar+         23 CANCELLED+      0:9
128806.495         vasp            ac_hpstar+         23  COMPLETED      0:0
128806.496         vasp            ac_hpstar+         23  COMPLETED      0:0
128806.497         vasp            ac_hpstar+         23  COMPLETED      0:0
128806.498         vasp            ac_hpstar+         23  COMPLETED      0:0
128806.499         vasp            ac_hpstar+         23  COMPLETED      0:0
128806.500         vasp            ac_hpstar+         23  COMPLETED      0:0
128806.501         vasp            ac_hpstar+         23    RUNNING      0:0

可以看到目前calypso.x 已经创建了501个作业步 ,而其中 128806.494 是被 calypso.x 退出的。

解决办法

而实际上,SLURM 对作业步的监管对于大部分应用来说并无必要。针对此应用,可以通过此方法来避开 SLURM 的监管,避免 SLURM 堵塞对计算的影响:

新的submit.sh :

#!/bin/sh
# 更换 yhrun 为 MPIRUN 
 mpirun  -np 23 vasp >> log.vasp

在提交前需要 “source /WORK/app/osenv/ln1/set2.sh” 不然会 "mpirun : command not found"

但只是这样还不够,会发现依然有作业步的创建 (可以用yhacct 查看),因为 mpirun 在编译时整合了作业步的管理功能。
经测试,在运行前将SLURM_* 环境变量清理掉即可取消mpirun 对 作业步的管理,那么我们还需要修改下 caly.sh :

#!/bin/bash
unset SLURM_CHECKPOINT_IMAGE_DIR SLURM_NODELIST SLURM_JOB_NAME SLURMD_NODENAME SLURM_TOPOLOGY_ADDR SLURM_PRIO_PROCESS SLURM_NODE_ALIASES SLURM_TOPOLOGY_ADDR_PATTERN
unset SLURM_NNODES SLURM_JOBID SLURM_TASKS_PER_NODE SLURM_JOB_ID SLURM_STEP_KILLED_MSG_NODE_ID SLURM_NODEID SLURM_SUBMIT_DIR SLURM_TASK_PID SLURM_CPUS_ON_NODE
unset SLURM_DISTRIBUTION SLURM_PROCID SLURM_JOB_NODELIST SLURM_EXCLUSIVE
unset SLURM_LOCALID SLURM_JOB_CPUS_PER_NODE SLURM_GTIDS SLURM_SUBMIT_HOST SLURM_JOB_NUM_NODES SLURM_SRUN_REDUCE_TASK_EXIT_MSG
./calypso.x >cly.log 2>&1

测试发现 “source /WORK/app/osenv/ln1/set2.sh” 带来的 mpirun 有问题 ,目前推荐通过 "module load MPI/Intel/IMPI/5.0.2.044" 来加载 Intel 的 mpirun ,这样其实 caly.sh 就不用改了。

更通用的方案

上面的脚本只适用于单节点作业计算的情况,如果算例较为复杂,需要更多的节点来进行VASP 的计算,可参考如下脚本:

caly.sh

#!/bin/bash
yhrun -N $SLURM_NNODES -n $SLURM_NNODES hostname > hostfile
echo ${HOSTNAME}:24 > hostfiles
grep ^${HOSTNAME}$ hostfile -v | awk '{ print $1":23" }' >> hostfiles
export CORES_SUM=`awk -F ':' '{sum+=$2}END{print sum}' hostfiles`

./calypso.x >cly.log 2>&1

submit.sh :

#!/bin/sh
 mpirun -f hostfiles -np $CORES_SUM vasp >> log.vasp

其他

本来是打算用高通量作业提交器 THHT 来解决这个问题的,但发现 CALYPSO 需要主动退出作业,而目前软件之前的设计没考虑这种问题,导致无法简单的实现此功能(可以提交但无法立即断开),就暂时不提供此方案了,后面的重新设计上会考虑这个问题。


  • 其他类似的频繁提交式任务也可以参考此文档
  • 欢迎讨论

STDOUT not in time

在计算节点跑应用会出现 STDOUT 延迟的问题。
OpenFOAM 的代码

    Info<< "\nStarting time loop\n" << endl;

    while (simple.loop())
    {
        Info<< "Time = " << runTime.timeName() << nl << endl;

        // --- Pressure-velocity SIMPLE corrector
        {
            #include "UEqn.H"
            #include "pEqn.H"
        }

        turbulence->correct();

        runTime.write();

        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
            << nl << endl;
    }

    Info<< "End\n" << endl;

查询 相关文档, C++ endl 是会刷新缓冲区的。

OpenFOAM 编译自己的程序过程中卡住不动

一个用户在编译自己的 DFrhoCentralFoam 时, 卡在了 第一个实际编译调用:
SOURCE=regField/regVectorField.C ; wmakeScheduler icpc -std=c++0x -Dlinux64 -DWM_DP -wd327,525,654,819,1125,1476,1505,1572 -xHost -O2 -no-prec-div -DNoRepository -I/WORK/app/OpenFOAM/OpenFOAM-2.3.1/src/finiteVolume/lnInclude -I/WORK/app/OpenFOAM/OpenFOAM-2.3.1/src/thermophysicalModels/basic/lnInclude -I/WORK/app/OpenFOAM/OpenFOAM-2.3.1/src/thermophysicalModels/specie/lnInclude -IlnInclude -I. -I/WORK/app/OpenFOAM/OpenFOAM-2.3.1/src/OpenFOAM/lnInclude -I/WORK/app/OpenFOAM/OpenFOAM-2.3.1/src/OSspecific/POSIX/lnInclude -fPIC -g -c $SOURCE -o Make/linux64IccDPOpt/regVectorField.o

ln41的caffe_cudnn有关问题

  1. 拷贝代码到自己文件夹,编译可以。但单元测试失败,make runtest 提示 Check failed: error == cudaSuccess (35 vs. 0) CUDA driver version is insufficient for CUDA runtime version
  2. 目前有没有可视化的界面?例如我在用caffe训练神经网络时,想用Python的matplotlib实时显示其损失函数下降图,怎么办?
  3. 在ln0分区,怎么开docker分区,我的HOME下只有BIGDATA和WORKSPACE两个。。那个docker是在哪里?
    谢谢您百忙中拨冗解答~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.