Amber20 安装指南:使用 makefile 进行配置和安装
Amber20 安装指南:使用 makefile 进行配置和安装
本指南详细介绍如何使用 makefile 安装 Amber20 软件,涵盖配置选项、安装步骤和常见错误处理。
1. 准备工作
- 确保已安装必要的依赖项,如 C/C++ 编译器、MPI 库、CUDA(可选)等。
- 下载并解压 Amber20 软件包。
2. 配置选项
在安装之前,需要根据你的系统配置和需求选择合适的配置选项。
SHELL=/bin/sh
AMBER=Amber20
CONFIG_FILE=config.h
CONFIG_COMMAND=./configure
PARALLEL_TOKEN=DMPI
CUDA_TOKEN=DCUDA
MIC_TOKEN=mmic
MIC2_TOKEN=DMIC2
MIC_OFFLOAD_TOKEN=DMIC_offload
include $(CONFIG_FILE)
.NOTPARALLEL:configured_cuda configured_parallel configured_serial
install: $(INSTALLTYPE)
主要配置选项:
- INSTALLTYPE: 安装类型,可以是 'serial', 'parallel', 'cuda_serial', 'cuda_parallel', 'mic', 'mic_parallel', 'mic2', 'mic_offload'。
- CONFIG_COMMAND: 配置命令,默认是
./configure,用于生成config.h文件。 - PARALLEL_TOKEN: 并行模式标记,默认是
DMPI,表示使用 MPI 进行并行计算。 - CUDA_TOKEN: CUDA 模式标记,默认是
DCUDA,表示使用 CUDA 进行加速计算。 - MIC_TOKEN: MIC 模式标记,默认是
mmic,表示使用 Intel MIC 进行加速计算。 - MIC2_TOKEN: MIC2 模式标记,默认是
DMIC2,表示使用 Intel MIC2 进行加速计算。 - MIC_OFFLOAD_TOKEN: MIC offload 模式标记,默认是
DMIC_offload,表示使用 Intel MIC offload 进行加速计算。
3. 执行安装
pmemd_only:
cd pmemd && $(MAKE) $(INSTALLTYPE)
cray_serial: serial
cray_parallel: parallel
cray_openmp: openmp
serial: configured_serial
@echo 'Starting installation of ${AMBER} (serial) at `date`'.
cd pmemd && $(MAKE) install
@echo ''
@echo 'Installation of ${AMBER} (serial) is complete at `date`.'
@echo ''
parallel: configured_parallel
@echo 'Starting installation of ${AMBER} (parallel) at `date`'.
cd ../AmberTools/src/etc && $(MAKE) parallel
cd pmemd && $(MAKE) parallel
@echo ''
@echo 'Installation of ${AMBER} (parallel) is complete at `date`.'
@echo ''
cuda_serial: configured_cuda
@echo 'Starting installation of ${AMBER} (cuda serial) at `date`'.
cd pmemd && $(MAKE) cuda_serial
cuda_parallel: configured_cuda configured_parallel
@echo 'Starting installation of ${AMBER} (cuda parallel) at `date`'.
cd ../AmberTools/src/etc && $(MAKE) parallel
cd pmemd && $(MAKE) cuda_parallel
mic: configured_mic
@echo 'Starting installation of ${AMBER} (mic_native) at `date`'.
cd pmemd && $(MAKE) mic
@echo ''
@echo 'Installation of ${AMBER} (mic_native) is complete at `date`.'
@echo ''
mic_parallel: configured_mic configured_parallel
@echo 'Starting installation of ${AMBER} (parallel mic_native) at `date`'.
cd ../AmberTools/src/etc && $(MAKE) parallel
cd pmemd && $(MAKE) mic_parallel
@echo ''
@echo 'Installation of ${AMBER} (parallel mic_native) is complete at `date`.'
@echo ''
mic2: configured_mic2
@echo 'Starting installation of ${AMBER} (mic2) at `date`'.
cd pmemd && $(MAKE) mic2
@echo ''
@echo 'Installation of ${AMBER} (mic2) is complete at `date`.'
@echo ''
mic_offload: configured_mic_offload
@echo 'Starting installation of ${AMBER} (mic_offload) at `date`'.
cd pmemd && $(MAKE) mic_offload
@echo ''
@echo 'Installation of ${AMBER} (mic_offload) is complete at `date`.'
@echo ''
configured:
@(if [ ! -f $(CONFIG_FILE) ] ; then \
echo 'Error: $(CONFIG_COMMAND) must be executed before $(MAKE)!' ;\
exit 2 ;\
# $(CONFIG_COMMAND) ;\
fi ;\
)
configured_parallel: configured
@(grep $(PARALLEL_TOKEN) $(CONFIG_FILE) > /dev/null || \
{ echo 'Error: $(CONFIG_FILE) is not of type parallel!' ;\
echo ' Rerun $(CONFIG_COMMAND) and specify an MPI implementation.' ;\
exit 2 ;\
} ;\
)
configured_serial: configured
@(if grep $(PARALLEL_TOKEN) $(CONFIG_FILE) > /dev/null ; then \
echo 'Error: $(CONFIG_FILE) is of type parallel, not serial!' ;\
echo ' Rerun $(CONFIG_COMMAND) without -mpi.' ;\
exit 2 ;\
fi ;\
)
@(if grep $(CUDA_TOKEN) $(CONFIG_FILE) > /dev/null ; then \
echo 'Error: $(CONFIG_FILE) is of type cuda, not serial!' ;\
echo ' Rerun $(CONFIG_COMMAND) without -cuda.' ;\
exit 2 ;\
fi ;\
)
@(if grep $(MIC_TOKEN) $(CONFIG_FILE) > /dev/null ; then \
echo 'Error: $(CONFIG_FILE) is of type mic_native, not serial!' ;\
echo ' Rerun $(CONFIG_COMMAND) without -mic_native.' ;\
exit 2 ;\
fi ;\
)
@(if grep $(MIC2_TOKEN) $(CONFIG_FILE) > /dev/null ; then \
echo 'Error: $(CONFIG_FILE) is of type mic2, not serial!' ;\
echo ' Rerun $(CONFIG_COMMAND) without -mic2.' ;\
exit 2 ;\
fi ;\
)
@(if grep $(MIC_OFFLOAD_TOKEN) $(CONFIG_FILE) > /dev/null ; then \
echo 'Error: $(CONFIG_FILE) is of type mic_offload, not serial!' ;\
echo ' Rerun $(CONFIG_COMMAND) without -mic_offload.' ;\
exit 2 ;\
fi ;\
)
configured_cuda: configured
@(grep $(CUDA_TOKEN) $(CONFIG_FILE) > /dev/null || \
{ echo 'Error: $(CONFIG_FILE) is not of type cuda!' ;\
echo ' Rerun $(CONFIG_COMMAND) and specify a cuda implementation.' ;\
exit 2 ;\
} ;\
)
configured_mic: configured
@(grep $(MIC_TOKEN) $(CONFIG_FILE) > /dev/null || \
{ echo 'Error: $(CONFIG_FILE) is not of type mic_native!' ;\
echo ' Rerun $(CONFIG_COMMAND) with -mic_native flag.' ;\
exit 2 ;\
} ;\
)
configured_mic2: configured
@(grep $(MIC2_TOKEN) $(CONFIG_FILE) > /dev/null || \
{ echo 'Error: $(CONFIG_FILE) is not of type mic2!' ;\
echo ' Rerun $(CONFIG_COMMAND) with -mic2 flag.' ;\
exit 2 ;\
} ;\
)
configured_mic_offload: configured
@(grep $(MIC_OFFLOAD_TOKEN) $(CONFIG_FILE) > /dev/null || \
{ echo 'Error: $(CONFIG_FILE) is not of type mic_offload!' ;\
echo ' Rerun $(CONFIG_COMMAND) with -mic_offload flag.' ;\
exit 2 ;\
} ;\
)
netcdf_uninstall:
-(cd ../AmberTools/src && $(MAKE) netcdf_uninstall)
clean::
-(cd pmemd && $(MAKE) clean)
uninstall: uninstall.serial uninstall.parallel uninstall.cuda uninstall.mic netcdf_uninstall
-(cd ../test && $(MAKE) clean)
-/bin/rm -f ../test/numprocs config.h
superclean: uninstall
openmp:
@echo 'No more OpenMP-enabled programs to install'
ompmpi:
@echo 'No more OpenMP/MPI program to install'
uninstall.serial:
-(cd pmemd && $(MAKE) uninstall.serial)
uninstall.parallel:
-(cd pmemd && $(MAKE) uninstall.parallel)
uninstall.cuda:
-(cd pmemd && $(MAKE) uninstall.cuda)
uninstall.mic:
-(cd pmemd && $(MAKE) uninstall.mic)
执行安装命令:
- 安装所有程序:
make install - 仅安装 pmemd 模块:
make pmemd_only - 其他安装选项: 根据需要替换
install目标名称,例如make serial、make parallel等。
4. 常见错误处理
- 配置错误: 确保已执行
./configure命令并根据系统配置和需求选择合适的选项。 - 依赖项错误: 检查是否已安装所有必要的依赖项。
- 权限问题: 确保当前用户有足够的权限进行安装。
5. 安装完成
安装完成后,你可以通过运行 Amber20 的示例程序来验证安装是否成功。
6. 进一步学习
- 阅读 Amber20 用户手册,了解更详细的安装和使用指南。
- 访问 Amber 官方网站,获取最新版本的软件和相关文档。
希望本指南能帮助你顺利安装 Amber20 软件。如有任何疑问,请随时查阅相关文档或向技术支持人员寻求帮助。
原文地址: http://www.cveoy.top/t/topic/fTSZ 著作权归作者所有。请勿转载和采集!