问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

5分钟内完成DeePMD-kit的安装(二)

提问网友 发布时间:9小时前
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:8小时前
在过去的两年里,DeePMD-kit的安装流程取得了显著的进展。本文旨在分享这些最新进展,并为其他科学计算软件的安装提供参考。首先,我们优化了pip安装LAMMPS接口及提供更多平台的轮子。

依托Python社区打包工程的发展,如PEP-517、PEP-518、PEP-621等规范的通过,以及setuptools、pip、wheel、build、auditwheel等工具的定位,DeePMD-kit在两年前已经采用scikit-build实现pip安装,并使用cibuildwheel构建轮子,并上传至pypi。然而,此前使用pip install deepmd-kit并非最佳实践,原因在于存在一些问题。

为了提升安装的稳定性,DeePMD-kit的安装模块进行了全面重构。依据PEP-517规范,构建自定义后端,确保在检测到未安装TensorFlow时,pip自动添加TensorFlow CPU版本作为构建依赖。同时,利用setuptools新特性,将setup.py中的元数据迁移到pyproject.toml。

考虑到TensorFlow的C++库版本可能改变ABI,之前的轮子并未固定TensorFlow版本,导致安装后可能发现不兼容。在近期更新中,我们读取TensorFlow版本号,以此固定TensorFlow版本,确保与构建所用的TensorFlow版本一致。此外,我们新增了Linux aarch64、macOS x86-64和Windows x86-64平台的轮子,并修复了其他平台的bug。同时,构建CUDA 11.8版本的GPU支持,当GPU不可用时回退至CPU版本。值得一提的是,由于CUDA 11改进了兼容性,构建的包在CUDA 11.2版本下同样可用。此外,我们对每个平台只构建一个轮子,避免对每个Python版本进行构建,因为DeePMD-kit仅链接TensorFlow,不会影响二进制库。

进一步,我们构建了LAMMPS的pypi轮子,作为DeePMD-kit的可选依赖,并通过entry points提供了CLI和plugin的入口。在加载plugin时,自动将DeePMD-kit的plugin加载到LD_LIBRARY_PATH等环境变量中。同时,_pywrap_tensorflow_internal.so文件暴露了C++接口,因此我们构建了C++库和LAMMPS plugin,使得LAMMPS支持plugin模式和从环境变量读取plugin列表。

最新版本2.2.0b中的pip安装命令已全面更新,Linux轮子需要GLIBC 2.28或以上版本,因为TensorFlow已切换至_GLIBCXX_USE_CXX11_ABI=1。然而,当前的manylinux2014镜像(如CentOS 7)的编译器不支持_GLIBCXX_USE_CXX11_ABI=1,需要采用其他方法解决。在macOS方面,GitHub Actions计划于今年Q3提供Apple M1机器,macOS arm64的轮子届时将可以构建。

在conda安装方面,libdeepmd和LAMMPS成功解耦,不再存在依赖关系。然而,当两者同时安装并在conda环境中激活时,LAMMPS plugin的环境变量加载,LAMMPS也能加载DeePMD-kit的plugin。conda-forge社区已经全面支持macOS x86-64和arm64平台,并加快了TensorFlow的构建速度,支持最新版本的macOS x86-64和arm64的Python库和C++库。LAMMPS也支持plugin包,并已添加macOS arm64支持。因此,conda-forge的DeePMD-kit与LAMMPS解耦,全面支持macOS平台。

考虑到C++接口在不同编译环境下的ABI差异,DeePMD-kit推出了C接口,不包含任何依赖,并提供一个C++实现的头文件,以便与原来的C++接口实现无缝迁移。通过GitHub Actions打包和分发Linux环境下、支持CUDA 11的libdeepmd_c.tar.gz,用户可以直接下载并解压后,与AMBER程序进行集成,大大节省了安装时间。

总之,DeePMD-kit在安装流程上的优化和新功能的引入,不仅提升了软件的稳定性和兼容性,还为用户提供了更简便的安装体验。这些改进不仅适用于DeePMD-kit自身,也为其他科学计算软件的安装提供了有益的参考。

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

馒头放冰箱保存可以放多久 馒头放冰箱保存可以放多长时间 怎么更换饥荒正在游戏中的人物 校园暴力如何防范 如果被校园暴力怎么做 什么牌子的手表适合30岁的男士 45岁的男人戴什么样手表最好?哪个牌子的手表最合适? 什么牌子的手表适合成熟男士? 我想学<火影忍者>前3首片头曲,可是我不懂日文,我要有注音的歌词_百度知 ... 明天有雾吗?是德州的 胡辣汤里面的粉是什么粉 搞怪又可爱的朋友圈经典文案 大学生能参加机械工程师综合素质考试吗? 机械工程师认证考试资格 李宁闪击8 脚感怎么样? ...不戴还好。机械表,新的。放在家里不戴时,24小时快30秒左右。戴在手... 用代入消元法解二元一次方程组: x+y/2+x-y/3=1 (1) (x+y)-5(x-y)=... 用代入消元法做,急! 97年生的过完生日满18还是19 表格里如何调整行距 吹风机引起火灾责任划分 机考普通话前三项得47.3分,能过二乙吗? model y是什么级别的suv 韧带损伤怎么办恢复快 惊艳的高质量文案说说(容易上热门的情感文案) 藕怎么清洗比较干净 甲沟炎塞棉花的时候应该穿什么鞋 指甲卡到肉里怎么办呢? ...罕海娜粉三星期染发一次。但头发掉得厉害,头皮痒,恳求帮助! 海娜花是不是生长在海边的地方的啊?? 旧小寨村农村经济 永磁同步电机无速度算法--二阶混合非奇异终端滑模观测器 写出16、60、67、18、80、85、90、99、100的英文单词 我要1到100的。英文单词。谢谢,是全部 天然气灶自动熄火怎么回事? 天然气灶点着火后又灭是怎么回事? 有哪些纯植物的洗面奶 请问这是什么蜘蛛,在家里发现好几只,挺小的,这是拿放大镜照的。 苹果手机怎么装安卓应用市场? 吃双氯芬酸钠缓释胶囊可以喝酒吗 双氯芬酸钠缓释片喝酒能吃吗
Top