计算化学公社
标题: 最新版NAMD的编译安装 [打印本页]
作者Author: fhh2626 时间: 2018-9-5 16:29
标题: 最新版NAMD的编译安装
本帖最后由 fhh2626 于 2024-7-16 10:58 编辑
2024-7-16,对教程进行更新
2024-7-4,注:NAMD 3.0正式版已经在官网发布,如果没有特殊情况的话不用编译了,直接下载官网的二进制包就行
2022-11-18,按照最新版NAMD修改了教程
在这里下载NAMD Nightly version,建议下载main branch
https://gitlab.com/tcbgUIUC/namd
懒得申请权限的可以在这里下载,不过版本较老:
https://www.ks.uiuc.edu/Research/namd/
在这里下载最新版colvars模块
http://colvars.github.io/
在这里下载OpenMM(2024-7-6:目前建议下载8.1.2)
https://github.com/openmm/openmm
下载本文提供的NAMDlib.zip附件
然后解压NAMD、Colvars和OpenMM
tar xvf NAMD_Git-2018-08-23_Source.tar.gz
tar xvf colvars-master.tar.gz
tar xvf openmm-7.7.0.tar.gz
更新NAMD中的Colvars,注意编译Colvars还需要OpenMM中的Lepton
export OPENMM_SOURCE=xxxxxxxxxxxxxxxxxxx
sh ./colvars-master/update-colvars-code.sh ./NAMD_Git-2018-08-23_Source
解压NAMD需要的libraries
mv NAMDlib.zip NAMD_Git-2018-08-23_Source
cd NAMD_Git-2018-08-23_Source/
unzip NAMDlib.zip
解压编译charm并行模块
tar xvf charm-6.8.2.tar
cd charm-6.8.2
./build
编译时会问几个问题,按照实际情况回答,我是塔式服务器,仅供参考
Are you building to run just on the localmachine, and not across multiple nodes? [y/N] (Y)
[新版本增加了一个关于GPU的问题],选N
Do you want to specify a compiler? [y/N] (N)
Do you want to specify any Charm++ buildoptions, such as fortran compilers? [y/N] (N)
Choose a set of compiler flags [1-5] (3)
1) none
2) debug mode -g -O0
3) production build [default] --with-production
4) production build w/ projections --with-production --enable-tracing
5) custom
What do you want to build? (1)
1) Charm++ [default] (choose this if you are building NAMD)
2) Charm++ and AMPI
3) Charm++, AMPI, ParFUM, FEM and other libraries
Do you want to compile in parallel? (5)
1) No
2) Build with -j2
3) Build with -j4
4) Build with -j8
5) Build with -j16 [default]
6) Build with -j32
7) Build with –j
Do you want to start the build now? [Y/n] (Y)
然后配置NAMD
cd ..
没有GPU的话就去掉--with-cuda和后面的部分
./config Linux-x86_64-g++ --with-cuda --with-single-node-cuda --cuda-prefix /usr/local/cuda
cd Linux-x86_64-g++/
修改配置文件,加入CHARM的绝对路径
nano Make.config
在里面找到:
CHARM = $(CHARMBASE)/$(CHARMARCH)
把=后面的部分改成绝对路径,如
/home/xxxxxxxxxxxxxxxx/NAMD_Git-2018-08-23_Source/charm-6.8.2
对于Ubuntu用户,可能需要在编译选项中加入-no-pie
nano ../arch/Linux-x86_64-g++.arch
找到CXXOPTS = -O3 -fexpensive-optimizations -ffast-math,在后面加上-no-pie
最后编译
make depends
make –j16
作者Author: meatball1982 时间: 2018-10-1 10:38
LZ好,看了帖子,想尝试一下。
文中写的“下载本文提供的NAMDlib.zip附件”
找了半天,没找到。能给点提示不,还上没upload上。
作者Author: fhh2626 时间: 2018-10-4 14:30
(, 下载次数 Times of downloads: 877)
之前忘了。。尴尬
作者Author: meatball1982 时间: 2018-10-7 10:08
谢谢LZ。
作者Author: ene 时间: 2019-4-17 16:52
本帖最后由 ene 于 2019-4-17 16:54 编辑
貌似编译NAMD要依赖FFTW,sFFTW和tcl8.5,没有的话可能需要安装一下
作者Author: fhh2626 时间: 2019-4-17 16:57
是的,附件里面提供的NAMDlib就是这两个东西,直接解压到源代码目录就可以了,省事
作者Author: ene 时间: 2019-4-17 17:13
原来如此,没仔细看NAMDlib里面有什么
作者Author: cadz 时间: 2019-5-14 14:54
谢谢!编译成功。可以试试不同arch。
作者Author: ifltnm 时间: 2019-8-16 17:40
./config Linux-x86_64-g++ --with-cuda --cuda-prefix/usr/local/cuda
请问,当前目录是?
作者Author: ifltnm 时间: 2019-8-18 08:55
http://bbs.keinsci.com/thread-10815-1-1.html
跟着楼主走,最后一步出现了错误,make: *** [Makefile:473: namd2] Error 1
难道需要单独安装namd2么?谢谢
作者Author: ifltnm 时间: 2019-8-18 10:04
http://bbs.keinsci.com/thread-10815-1-1.html
请问大家安装的是2.13,2.13b1还是2.13b2呢?谢谢
作者Author: loveqshow 时间: 2019-10-19 21:36
编译成功 会反馈什么信息呢 ?
作者Author: loveqshow 时间: 2019-10-21 21:04
HELLO
作者Author: cadz 时间: 2019-10-23 01:24
编译正常结束就可以了。
作者Author: sophie940122 时间: 2019-11-19 09:32
make: /home/Downloads/NAMD_Git-2019-11-18_Source/charm-6.10.0-pre/bin/charmc: Command not found
Makefile:666: recipe for target 'inc/Node.decl.h' failed
make: *** [inc/Node.decl.h] Error 127
请问最后make之后这样报错是为什么呢?我安装的是nightly version的最新版本。
作者Author: fhh2626 时间: 2019-11-19 10:58
charm++的路径没有设对吧
作者Author: sophie940122 时间: 2019-11-19 11:47
Make.config里的charm路径吗?检查了很多次,没有错误...
作者Author: fhh2626 时间: 2019-11-19 16:26
你看看charmc在哪个路径
作者Author: need_cloth 时间: 2020-3-3 20:30
最后一步make -j16 出现错误,求大神帮忙
make: *** No rule to make target `aliased', needed by `conda'. Stop.
作者Author: hhhnano 时间: 2020-3-27 16:20
最新版NAMD_Git-2020-03-26_Source按照楼主的教程编译成功!非常感谢!
作者Author: sayhello 时间: 2020-4-25 15:47
你好,我下载的是最新版NAMD_Git-2020-04-23_Linux-x86_64-multicore-CUDA,解压后发现里面没有charm++压缩包,所以在tar xvf charm-6.8.2.tar这一步停下来了。又尝试下载了NAMD_2.13_Linux-x86_64-multicore版本,里面也没有charm++压缩包,请问我哪里操作不对呢?
作者Author: fhh2626 时间: 2020-4-25 15:53
你下的是binary,直接用就行了
作者Author: sayhello 时间: 2020-4-25 16:29
你好,听了你的建议,我解压安装包,配置了环境变量后直接用
按照英文教程到制作PSF文件那一步。先输入package require psfgen,正常,然后输入topology top_all27_prot_lipid.inp,
提示ERROR: Unable to open topology file top_all27_prot_lipid.inp MOLECULE DESTROYED BY FATAL ERROR! Use resetpsf to start over.
我的输入字母应该是正确的,检查了好多遍,请问这是什么缘故?我是不是在安装过程少做了什么?
作者Author: fhh2626 时间: 2020-4-25 16:56
你有那个top文件吗?
作者Author: sayhello 时间: 2020-4-25 17:11
搜索显示没有,看来这个binary版本我驾驭不了,准备下载帖子对应的版本了,是那个source code版本对吧?
作者Author: fhh2626 时间: 2020-4-25 17:40
跟NAMD版本没关系,你没那个top文件就去下那个文件啊
作者Author: sayhello 时间: 2020-4-26 10:17
本帖最后由 sayhello 于 2020-4-26 15:15 编辑
没问题了,十分感谢
作者Author: sayhello 时间: 2020-5-2 13:26
大佬好,我在生成参数文件和配置文件后,进行动力学模拟。
操作如下,用终端打开NAMD目录,输入namd2 /home/hello2020/Downloads/cdc20-1_min/min.conf > /home/hello2020/Downloads/cdc20-1_min/min.log,反馈为invalid command name "namd2",这是因为什么呢?
作者Author: fhh2626 时间: 2020-5-2 18:01
./namd2
作者Author: HZW 时间: 2021-1-28 22:50
编译NAMD_Git-2021-01-28_Source,最后是:
charmc: Executing rm -f charmrun
rm -f moduleinit38591.C moduleinit38591.o
make: warning: Clock skew detected. Your build may be incomplete.
编译成功了吗?
作者Author: 退休老干部 时间: 2021-2-3 19:48
楼主您好,我想请问一下我直接解压的binary版本,需要使用其中的ramd功能,发现README里写 “It requires NAMD to be compiled against tcl 8.3 or 8.4”,所以是需要重新编译NAMD吗?
作者Author: fhh2626 时间: 2021-2-4 10:49
我没有用过,你试试编译好的MPI版本是不是可以跑
作者Author: 退休老干部 时间: 2021-2-4 17:48
好的,谢谢楼主
作者Author: 退休老干部 时间: 2021-2-27 13:18
本帖最后由 退休老干部 于 2021-2-27 13:19 编辑
您好,不好意思打扰了,我想请问一下关于NAMD版本编译的问题。现在我想比较不同核数(8核,16核,32核)并行的运行速度,一个队列有16个核,如果测试32个核的话,就需要分节点了,所以我应该编译哪个版本啊,我尝试编译verbs-linux-x86_64 smp,发现build的时候就出现这样的问题了:
In file included from cpuaffinity.C:28:0:
/usr/include/infiniband/verbs.h: In function ‘verbs_context* verbs_get_ctx(const ibv_context*)’:
/usr/include/infiniband/verbs.h:924:10: error: cannot convert ‘ibv_context’ to ‘const int’ in initialization
NULL : container_of(ctx, struct verbs_context, context);
^
/usr/include/infiniband/verbs.h:924:10: error: expected ‘,’ or ‘;’ before ‘*’ token
NULL : container_of(ctx, struct verbs_context, context);
^
/usr/include/infiniband/verbs.h:924:10: error: ‘__mptr’ was not declared in this scope
NULL : container_of(ctx, struct verbs_context, context);
^
/usr/include/infiniband/verbs.h:923:62: error: third operand to the conditional operator is of type ‘void’, but the second operand is neither a throw-expression nor of type ‘void’
return (!ctx || (ctx->abi_compat != ((uint8_t *)NULL) - 1)) ?
^
/usr/include/infiniband/verbs.h: In function ‘verbs_device* verbs_get_device(const ibv_device*)’:
/usr/include/infiniband/verbs.h:931:10: error: cannot convert ‘ibv_device’ to ‘const int’ in initialization
NULL : container_of(dev, struct verbs_device, device);
^
/usr/include/infiniband/verbs.h:931:10: error: expected ‘,’ or ‘;’ before ‘*’ token
NULL : container_of(dev, struct verbs_device, device);
^
/usr/include/infiniband/verbs.h:931:10: error: ‘__mptr’ was not declared in this scope
NULL : container_of(dev, struct verbs_device, device);
^
/usr/include/infiniband/verbs.h:930:34: error: third operand to the conditional operator is of type ‘void’, but the second operand is neither a throw-expression nor of type ‘void’
return (dev->ops.alloc_context) ?
^
Fatal Error by charmc in directory /gpfs01/home/xiafei2/yqwang/software/NAMD_2.14_Source/charm-6.10.2/verbs-linux-x86_64-smp/tmp
Command g++ -DCMK_GFORTRAN -D_REENTRANT -I../bin/../include -D__CHARMC__=1 -I. -O3 -U_FORTIFY_SOURCE -fno-stack-protector -std=c++11 -fno-lifetime-dse -c cpuaffinity.C -o cpuaffinity.o returned error code 1
charmc exiting...
gmake: *** [cpuaffinity.o] Error 1
-------------------------------------------------
Charm++ NOT BUILT. Either cd into verbs-linux-x86_64-smp/tmp and try
to resolve the problems yourself, visit
http://charm.cs.illinois.edu/
for more information. Otherwise, email the developers at charm@cs.illinois.edu
请问这是什么原因?
作者Author: fhh2626 时间: 2021-2-27 15:56
如果你只想在当前节点运行的话就编译multicore版本,如果你有infiniband的话就编译跨节点infiniband版本
作者Author: 退休老干部 时间: 2021-2-27 16:16
好的,谢谢。我还想请问一下跨节点跟SMP没有关系吗?
作者Author: fhh2626 时间: 2021-2-28 16:23
没关系
作者Author: 957 时间: 2021-5-25 15:46
求问按照以上安装NAMD2.13 最后一步make 出现以下error
src/colvarproxy_namd.C: In member function ‘virtual int colvarproxy_namd::setup()’:
src/colvarproxy_namd.C:252: error: ‘modifyGridObjForces’ was not declared in this scope
src/colvarproxy_namd.C: In member function ‘virtual int colvarproxy_namd::reset()’:
src/colvarproxy_namd.C:269: error: ‘modifyRequestedGridObjects’ was not declared in this scope
src/colvarproxy_namd.C: In member function ‘virtual void colvarproxy_namd::calculate()’:
src/colvarproxy_namd.C:468: error: ‘getGridObjIndexBegin’ was not declared in this scope
src/colvarproxy_namd.C:469: error: ‘getGridObjValueBegin’ was not declared in this scope
src/colvarproxy_namd.C:470: error: ‘getGridObjValueEnd’ was not declared in this scope
src/colvarproxy_namd.C:540: error: ‘modifyGridObjForces’ was not declared in this scope
src/colvarproxy_namd.C:540: error: ‘requestedGridObjs’ was not declared in this scope
src/colvarproxy_namd.C:542: error: ‘getGridObjIndexBegin’ was not declared in this scope
src/colvarproxy_namd.C:544: error: ‘getGridObjIndexEnd’ was not declared in this scope
src/colvarproxy_namd.C: In member function ‘virtual int colvarproxy_namd::init_volmap_by_id(int)’:
src/colvarproxy_namd.C:1215: error: ‘modifyRequestedGridObjects’ was not declared in this scope
src/colvarproxy_namd.C: In member function ‘virtual int colvarproxy_namd::init_volmap_by_name(const char*)’:
src/colvarproxy_namd.C:1257: error: ‘modifyRequestedGridObjects’ was not declared in this scope
make: *** [obj/colvarproxy_namd.o] Error 1
这要怎么处理呢
作者Author: fhh2626 时间: 2021-5-25 15:52
先把Linux-x86_64-g++/文件夹删了
重新config一次,然后进入Linux-x86_64-g++/文件夹
make depends
make -jxxx
作者Author: 957 时间: 2021-5-25 16:04
按照您说的执行了一次,还是一样的错误
作者Author: fhh2626 时间: 2021-5-25 16:46
你执行make depends有什么输出吗
作者Author: 957 时间: 2021-5-26 11:29
有的
checking dependencies for colvars/src/colvarparse.cpp
checking dependencies for colvars/src/colvarproxy.cpp
checking dependencies for colvars/src/colvarproxy_volmaps.cpp
checking dependencies for colvars/src/colvarproxy_replicas.cpp
checking dependencies for colvars/src/colvarproxy_tcl.cpp
checking dependencies for colvars/src/colvarscript.cpp
checking dependencies for colvars/src/colvarscript_commands.cpp
checking dependencies for colvars/src/colvarscript_commands_bias.cpp
checking dependencies for colvars/src/colvarscript_commands_colvar.cpp
checking dependencies for colvars/src/colvartypes.cpp
checking dependencies for colvars/src/colvarvalue.cpp
checking dependencies for colvars/src/nr_jacobi.cpp
checking dependencies for lepton/src/CompiledExpression.cpp
checking dependencies for lepton/src/ExpressionProgram.cpp
checking dependencies for lepton/src/ExpressionTreeNode.cpp
checking dependencies for lepton/src/Operation.cpp
checking dependencies for lepton/src/ParsedExpression.cpp
checking dependencies for lepton/src/Parser.cpp
类似于这样
作者Author: fhh2626 时间: 2021-5-26 11:59
957 发表于 2021-5-26 11:29
有的
checking dependencies for colvars/src/colvarparse.cpp
checking dependencies for colvars/src ...
实在不行你就下编译好的版本吧,NAMD2.13实在太老了,不知道有什么兼容性问题
作者Author: azero 时间: 2021-6-16 16:19
本帖最后由 azero 于 2021-6-16 16:20 编辑
奇怪,在旧笔记本是可以成功编译的
新笔记本出现了fftw的问题
can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: .rootdir/fftw/lib/libsfftw.a(wisdomio.o): relocation R_X86_64_32 against `.text' can no
t be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: .rootdir/fftw/lib/libsfftw.a(putils.o): relocation R_X86_64_32S against `.rodata' can n
ot be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: .rootdir/fftw/lib/libsfftw.a(rader.o): relocation R_X86_64_32 against symbol `fftw_twid
dle_rader' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: .rootdir/fftw/lib/libsfftw.a(twiddle.o): relocation R_X86_64_32 against `.bss' can not
be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: .rootdir/fftw/lib/libsrfftw.a(rexec2.o): warning: relocation in read-only section `.eh_
frame'
collect2: error: ld returned 1 exit status
解决不了,NAMDlib.zip 已经解压放进文件夹
作者Author: fhh2626 时间: 2021-6-17 10:10
ubuntu维护者在默认的gcc编译器里面加了一堆乱七八糟的选项,用默认的编译器容易出问题
这个错误需要adding the option -no-pie to CXXOPTS in the relevant arch file (eg. Linux-x86_64-g++.arch)
作者Author: azero 时间: 2021-6-17 13:24
谢谢,按照楼主的做法试了试
最后两行是charmc: Executing rm -f charmrun
rm -f moduleinit8279.C moduleinit8279.o
应该是安装成功了
不过中途有文字
OpenMP support not enabled
应该不影响吧,笔记本装了openmpi的
penMP support not enabled
作者Author: d2denis 时间: 2021-8-26 10:06
NAMD_2.14_Source/Linux-x86_64-g++$ make -j24
Makefile:432: .rootdir/Plumed.inc: No such file or directory
make: *** No rule to make target '.rootdir/Plumed.inc'. Stop.
请问必须要是有了PLUMED才能装的吗?
作者Author: fhh2626 时间: 2021-8-26 10:15
没见过这个错误,你是怎么操作的?
作者Author: d2denis 时间: 2021-8-26 10:42
本帖最后由 d2denis 于 2021-8-26 10:58 编辑
基本按照您给的步骤走的,不过两个版本都是最新的:
NAMD_2.14_Source和charm-6.10.2
补充
....
是我忘了已经用plumed patch了,换了个新的电脑问题已经解决了,谢谢大佬
作者Author: 刘金磊 时间: 2021-12-7 11:15
有谁知道这是怎么回事?
作者Author: jcm 时间: 2021-12-9 09:54
我也是这个问题
作者Author: tjuptz 时间: 2022-4-3 17:17
fu老师您好,我在编译NAMD2.12CUDA版时也是遇到了类似38#的问题,用您说的这个也是不行。
因为想用文献里一个2.12带磁场补丁包的版本,所以用的这个老版本。CPU版本编译没问题,现在试试GPU版遇到了上述问题。您还有其他建议吗?
- In file included from src/CudaPmeSolverUtil.C:9:0:
- src/CudaPmeSolverUtil.C: In member function ‘virtual void CudaFFTCompute::plan3D(int*, int)’:
- src/CudaPmeSolverUtil.C:51:85: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
- cufftCheck(cufftSetCompatibilityMode(forwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
- ^
- src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
- cufftResult err = stmt; \
- ^
- src/CudaPmeSolverUtil.C:52:86: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
- cufftCheck(cufftSetCompatibilityMode(backwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
- ^
- src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
- cufftResult err = stmt; \
- ^
- src/CudaPmeSolverUtil.C: In member function ‘virtual void CudaFFTCompute::plan2D(int*, int, int)’:
- src/CudaPmeSolverUtil.C:64:85: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
- cufftCheck(cufftSetCompatibilityMode(forwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
- ^
- src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
- cufftResult err = stmt; \
- ^
- src/CudaPmeSolverUtil.C:65:86: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
- cufftCheck(cufftSetCompatibilityMode(backwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
- ^
- src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
- cufftResult err = stmt; \
- ^
- src/CudaPmeSolverUtil.C: In member function ‘virtual void CudaFFTCompute::plan1DX(int*, int, int)’:
- src/CudaPmeSolverUtil.C:76:85: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
- cufftCheck(cufftSetCompatibilityMode(forwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
- ^
- src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
- cufftResult err = stmt; \
- ^
- src/CudaPmeSolverUtil.C:77:86: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
- cufftCheck(cufftSetCompatibilityMode(backwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
- ^
- src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
- cufftResult err = stmt; \
- ^
- src/CudaPmeSolverUtil.C: In member function ‘virtual void CudaFFTCompute::plan1DY(int*, int, int)’:
- src/CudaPmeSolverUtil.C:88:85: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
- cufftCheck(cufftSetCompatibilityMode(forwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
- ^
- src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
- cufftResult err = stmt; \
- ^
- src/CudaPmeSolverUtil.C:89:86: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
- cufftCheck(cufftSetCompatibilityMode(backwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
- ^
- src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
- cufftResult err = stmt; \
- ^
- In file included from inc/ComputePmeCUDAMgr.decl.h:7:0,
- from src/ComputePmeCUDAMgr.h:9,
- from src/CudaPmeSolver.C:5:
- inc/CudaPmeSolver.decl.h:1258:35: warning: ‘auto_ptr’ is deprecated (declared at /usr/include/c++/4.8.2/backward/auto_ptr.h:87) [-Wdeprecated-declarations]
- std::auto_ptr<SDAG::Dependency> __dep; \
- ^
- src/CudaPmeSolver.h:86:2: note: in expansion of macro ‘CudaPmePencilXY_SDAG_CODE’
- CudaPmePencilXY_SDAG_CODE
- ^
- src/CudaPmeSolverUtil.C: In member function ‘virtual void CudaFFTCompute::plan1DZ(int*, int, int)’:
- src/CudaPmeSolverUtil.C:100:85: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
- cufftCheck(cufftSetCompatibilityMode(forwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
- ^
- src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
- cufftResult err = stmt; \
- ^
- src/CudaPmeSolverUtil.C:101:86: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
- cufftCheck(cufftSetCompatibilityMode(backwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
- ^
- src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
- cufftResult err = stmt; \
- ^
- inc/CudaPmeSolver.decl.h:1911:35: warning: ‘auto_ptr’ is deprecated (declared at /usr/include/c++/4.8.2/backward/auto_ptr.h:87) [-Wdeprecated-declarations]
- std::auto_ptr<SDAG::Dependency> __dep; \
- ^
- src/CudaPmeSolver.h:114:2: note: in expansion of macro ‘CudaPmePencilX_SDAG_CODE’
- CudaPmePencilX_SDAG_CODE
- ^
- inc/CudaPmeSolver.decl.h:2715:35: warning: ‘auto_ptr’ is deprecated (declared at /usr/include/c++/4.8.2/backward/auto_ptr.h:87) [-Wdeprecated-declarations]
- std::auto_ptr<SDAG::Dependency> __dep; \
- ^
- src/CudaPmeSolver.h:142:2: note: in expansion of macro ‘CudaPmePencilY_SDAG_CODE’
- CudaPmePencilY_SDAG_CODE
- ^
- inc/CudaPmeSolver.decl.h:3517:35: warning: ‘auto_ptr’ is deprecated (declared at /usr/include/c++/4.8.2/backward/auto_ptr.h:87) [-Wdeprecated-declarations]
- std::auto_ptr<SDAG::Dependency> __dep; \
- ^
- src/CudaPmeSolver.h:177:2: note: in expansion of macro ‘CudaPmePencilZ_SDAG_CODE’
- CudaPmePencilZ_SDAG_CODE
- ^
- g++ -m64 -std=c++0x -O3 -I/app/NAMD_2.12_Source/charm-6.7.1/include -DCMK_OPTIMIZE=1 -Isrc -Iinc -Iplugins/include -DSTATIC_PLUGIN -I.rootdir/tcl/include -DNAMD_TCL -I.rootdir/fftw/include -DNAMD_FFTW -DNAMD_CUDA -I. -I/usr/local/cuda/include -I.rootdir/cub -DNAMD_VERSION="2.12" -DNAMD_PLATFORM="Linux-x86_64-multicore-CUDA" -DREMOVE_PROXYRESULTMSG_EXTRACOPY -DNODEAWARE_PROXY_SPANNINGTREE -DUSE_NODEPATCHMGR -DUSE_CKLOOP=1 -fexpensive-optimizations -ffast-math -o obj/DumpBench.o -c src/DumpBench.C
- make: *** [obj/CudaPmeSolverUtil.o] Error 1
- make: *** Waiting for unfinished jobs....
复制代码
作者Author: fhh2626 时间: 2022-4-5 11:08
你试试用gcc7或者gcc8编译呢?
作者Author: tjuptz 时间: 2022-4-5 20:01
本帖最后由 tjuptz 于 2022-4-5 21:05 编辑
换用gcc7和gcc8试了一下,还是同样的模块出问题@_@
作者Author: fhh2626 时间: 2022-4-6 10:39
也许是你的GPU太新了,NAMD2.12不支持吧
作者Author: tjuptz 时间: 2022-4-6 11:06
硬件rtx2060,cuda10.2。可能是,毕竟版本有点老了。总之,谢谢fu老师解答。
作者Author: wangke 时间: 2022-8-2 15:54
各位老师好,我在运行namd3上遇到了一些小问题,我使用的namd3是从源码编译的UCX-SMP版本,编译在超算上,
运行的命令是:/HOME/scz3470/run/namd/Linux-x86_64-g++/charmrun +p16 /HOME/scz3470/run/namd/Linux-x86_64-g++/namd3 +ignoresharing +isomalloc_sync +devices 0,1 +replicas 16 fep_${system}.conf --source FEP_remd_relative.namd +stdout output_${system}/%d/job${cnt}.%d.log
我得到的反馈结果是:
FATAL ERROR: ComputeCUDAMgr::createCudaComputeNonbonded, non-bonded CUDA tables not created
FATAL ERROR: See http://www.ks.uiuc.edu/Research/namd/bugreport.html
然后我查了一下,我搜索到了,如下结果:
(, 下载次数 Times of downloads: 23)
有老师可以指点一下吗,不胜感激。
作者Author: fygfjhj 时间: 2023-6-5 16:11
楼主是从源码编译吗,我下载二进制包可以直接使用namd程序,想问下您这样安装和使用二进制包的效果是一样的吗
作者Author: fhh2626 时间: 2023-6-5 16:58
一般情况下是一样的
作者Author: Amphibiouskii 时间: 2023-7-7 10:59
更新NAMD中的Colvars,注意编译Colvars还需要OpenMM中的Lepton
export OPENMM_SOURCE=xxxxxxxxxxxxxxxxxxx
sh ./colvars-master/update-colvars-code.sh ./NAMD_Git-2018-08-23_Source
请问老师这一部分是需要自己先安装OpenMM的意思吗?如果我直接执行那个sh,会得到下面这样的输出:
- Detected NAMD source tree in ./NAMD_Git-2022-07-21_Source
- Updating ...Downloading Lepton library (used in Colvars) via the OpenMM repository
- Cloning into '/tmp/openmm-source-RRGVgo'...
- remote: Enumerating objects: 2119, done.
- remote: Counting objects: 100% (2119/2119), done.
- remote: Compressing objects: 100% (1571/1571), done.
- remote: Total 2119 (delta 865), reused 1182 (delta 492), pack-reused 0
- Receiving objects: 100% (2119/2119), 18.31 MiB | 1.08 MiB/s, done.
- Resolving deltas: 100% (865/865), done.
- .../colvars-master/update-colvars-code.sh: line 367: namd/Makefile.patch: No such file or directory
- ...................................................................................... done.
- *************************************************
- Please run "make depends" in the NAMD tree.
- *************************************************
复制代码
之后make depends则会报错:
- Make.depends:7787: .rootdir/lepton/Make.depends: No such file or directory
- make: *** No rule to make target '.rootdir/lepton/Make.depends'. Stop.
复制代码
作者Author: fhh2626 时间: 2023-7-7 11:11
新版本colvars需要OpenMM里面自带的Lepton组件,无需安装OpenMM
下载OpenMM最新版的源代码后,解压,然后export OPENMM_SOURCE=xxxxxxxxx
接下来可以继续这个步骤进行编译
作者Author: Amphibiouskii 时间: 2023-7-7 15:09
那这个export OPENMM_SOURCE=后面就是跟上解压后得到的openmm文件目录的绝对路径还是说直接复制这行代码?
还有一个问题是下一步中需要解压的charm++包我在源码包中没有看到,尝试下载了Nightly version和最新的3.0b3都没有在解压后的根目录中看到,是需要自己下载然后移动到NAMD的目录里吗?
作者Author: Amphibiouskii 时间: 2023-7-7 15:57
想了一下还是贴一下图,解压后的NAMD目录里面只有一个Make.charm好像有点相关,难道是我的解压方式不对吗
作者Author: fhh2626 时间: 2023-7-8 16:18
跟openmm目录
https://github.com/UIUC-PPL/charm/releases 下6.10.2
作者Author: 喵星大佬 时间: 2023-7-8 16:25
去下一个,直接搜
作者Author: Amphibiouskii 时间: 2023-7-8 17:32
好的,谢谢付老师!
还有一个问题是最后./config的时候显示如下警告:
- CUDA detected: version 12.1
- using Linux-x86_64.cuda11
- Warning: CUDA build found is less than version 12.1
复制代码
似乎是我的cuda版本与cuda build不符,我进NAMD源文件目录下的arch文件夹看了一下,找不到Linux-x86_64.cuda12,只有Linux-x86_64.cuda11,进这个文件看了一下发现这个文件是写cuda gencode的,本想自己修改得到一个Linux-x86_64.cuda12,把文本里面的11都换成了12,还加入了新的Ada Lovelace架构的gencode(因为GPU是4080),自己编写的Linux-x86_64.cuda12内容如下:
- # suppliment and override build definitions for CUDA 12
-
- # set directory default for TCB file system, override by user config
- CUDADIR=/usr/local/encap/cuda-12.1
- # CUDA 12 has deprecated compute capability 3.x and 5.x
- # limit CUDADLINKOPTS to architectures available in libcufft_static
- CUDADLINKOPTS = \
- -gencode arch=compute_89,code=sm_89 \
- -gencode arch=compute_89,code=compute_89
- CUDAGENCODE = \
- -gencode arch=compute_89,code=sm_89 \
- -gencode arch=compute_89,code=compute_89
复制代码
但make depends的时候还是出现了error:
- checking dependencies for src/MigrationBondedCUDAKernel.cu
- In file included from /usr/local/cuda/include/thrust/system/cuda/config.h:42,
- from /usr/local/cuda/include/thrust/system/cuda/detail/execution_policy.h:35,
- from /usr/local/cuda/include/thrust/iterator/detail/device_system_tag.h:23,
- from /usr/local/cuda/include/thrust/iterator/detail/iterator_facade_category.h:22,
- from /usr/local/cuda/include/thrust/iterator/iterator_facade.h:37,
- from .rootdir/cub/namd_cub/device/../iterator/arg_index_input_iterator.cuh:48,
- from .rootdir/cub/namd_cub/device/device_reduce.cuh:41,
- from .rootdir/cub/namd_cub/cub.cuh:53,
- from src/MigrationBondedCUDAKernel.cu:10:
- /usr/local/cuda/include/cub/util_namespace.cuh:46:2: error: #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
- #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
- checking dependencies for src/MigrationCUDAKernel.cu
- ......
复制代码
大概出现了13个这样的相似报错,报错信息完全一样,不同的是checking的项目不一样,但全是与cuda相关的(上面仅列出两个),这种情况是只能重装cuda吗?因为主要用gromacs,故安装了比较新的cuda12.1,没想到NAMD居然没有支持cuda12......
其实我用NAMD主要是想尝试一下BFEE2的蛋白-蛋白结合自由能计算,不知道能否直接使用binary版本?如果可以的话还是不编译安装了,重装cuda实在是太麻烦了
还有想请教一下付老师BFEE2计算糖蛋白(使用Charmm36m力场,CHARMM-GUI生成)的结合自由能效果如何?因为之前使用过gmx_MMPBSA感觉效果不是很好,所以想试试采样的方法看看会不会效果好一点
作者Author: fhh2626 时间: 2023-7-8 23:51
应该是可以直接使用最新的binary的
另外NAMD应该是可以用CUDA12.x编译的
./config Linux-x86_64-g++ --with-cuda --with-single-node-cuda --cuda-prefix /usr/local/cuda
用不到Linux-x86_64.cuda11这个文件
作者Author: Amphibiouskii 时间: 2023-7-9 23:12
非常感谢付老师的耐心回答!
但是如果我不自己在arch目录下创建一个Linux-x86_64.cuda12的话,在执行命令:
- ./config Linux-x86_64-g++ --with-cuda --with-single-node-cuda --cuda-prefix /usr/local/cuda
复制代码
后在Terminal输出的信息中就会包含如下警告:
- CUDA detected: version 12.1
- using Linux-x86_64.cuda11
- Warning: CUDA build found is less than version 12.1
复制代码
难道说是我找到的NAMD版本不对吗?
还有就是在我尝试删掉解压后的NAMD目录,重新解压走一遍流程的时候,在这一步:- sh ./colvars-master/update-colvars-code.sh ./NAMD_3.0b3_Source
复制代码 时,它会输出如下信息:- Detected NAMD source tree in ./NAMD_3.0b3_Source
- Updating ....../colvars-master/update-colvars-code.sh: line 367: namd/Makefile.patch: No such file or directory
- ...................................................................................... done.
- *************************************************
- Please run "make depends" in the NAMD tree.
- *************************************************
复制代码
然后我按照他的要求在文件夹NAMD_3.0b3_Source下运行了make denpends,返回报错:- Make.depends:9662: .rootdir/lepton/Make.depends: No such file or directory
- make: *** No rule to make target '.rootdir/lepton/Make.depends'. Stop.
复制代码
但我看了一下在NAMD_3.0b3_Source/lepton下是有Make.depends这个文件的,尝试Google和自己指定文件的绝对路径等各种方法后无效,暂时就卡在这里了。。。
不过既然老师说binary版本应该也能用,那我还是先使用binary版本试试吧。。。
作者Author: shifan 时间: 2024-2-21 12:50
请问 openmm如何安装
作者Author: fhh2626 时间: 2024-2-22 09:44
安装NAMD不需要安装OpenMM。如果你想用OpenMM软件的话,可以直接在conda里面安装
作者Author: shifan 时间: 2024-2-22 10:31
我在编译charm的时候出现以下报错
Charm++ NOT BUILT. Either cd into multicore-linux-x86_64-cuda/tmp and try
后来我尝试cuda那一项选择no,就可以正常编译,服务器中装的cuda版本是12,但是 NAMD的arc文件中最高支持的是11
但是由于磁盘空间不够了,无法再装低版本的cuda
请问这个怎么办?
作者Author: fhh2626 时间: 2024-2-23 09:59
编译charm++的时候不用链接CUDA,NAMD的话应该是可以在CUDA12的机器上编译的。
或者你可以直接下3.0b6的二进制文件来用,最近官网上二进制文件更新很频繁。一半是官网不怎么更新的时候再自己编译安装
作者Author: simple123 时间: 2024-2-26 14:19
本帖最后由 simple123 于 2024-2-26 14:24 编辑
老师您好,请问输入make -j16之后
显示:
make: *** [psfgen] Error 1
make: *** Waiting for unfinished jobs....
这样是指安装失败了吗,请问老师接下来该如何处理?
下载的软件有:NAMD_3.0b6_Source.tar.gz;openmm-8.1.1;colvars-master.tar.gz;NAMDlib.zip
作者Author: fhh2626 时间: 2024-2-27 14:20
这个看不出来错误在哪。。你得找到由error开头的报错
作者Author: 1758924310 时间: 2024-4-23 22:20
本帖最后由 1758924310 于 2024-4-23 23:11 编辑
您好,我是Linux子系统Ubuntu安装NAMD,到了 make -j16这步之后显示
/usr/bin/ld: cannot find -ltcl8.6: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:552: psfgen] Error 1
make: *** Waiting for unfinished jobs....
请问这个问题怎么解决
作者Author: fhh2626 时间: 2024-4-24 09:46
没有解压NAMDlib.zip吧
作者Author: 1758924310 时间: 2024-4-24 10:39
解压了,在NAMD文件夹里有fftw和tcl俩个文件夹,我再重新执行一下?
作者Author: fhh2626 时间: 2024-4-24 10:49
那就重新./config ....
作者Author: 1758924310 时间: 2024-4-24 11:37
本帖最后由 1758924310 于 2024-4-25 11:27 编辑
您好,我重新安装了一下,但又出现了如下问题:
charmc: Executing rm -f charmrun
rm -f moduleinit90032.C moduleinit90032.o
请问这个问题该如何解决呢?
作者Author: 生煎小馒头 时间: 2024-11-15 19:35
您好,楼主,我下载的是这个版本的NAMD_3.0.1_Linux-x86_64-multicore-CUDA.tar.gz,为什么我运行./name3会出现这个报错:./namd3: error while loading shared libraries: libmvec.so.1: cannot open shared object file: No such file or directory,可以帮我解疑一下吗
欢迎光临 计算化学公社 (http://bbs.keinsci.com/) |
Powered by Discuz! X3.3 |