首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

conda build 系列教程・deepmd 的构建|lammps-dp

在搞定libdeepmd 的构建后,我们终于来到了最后一关:LAMMPS。

这里以今年 3 月发布的 LAMMPS stable_3Mar2020 为例。在寻常的安装中,我们需要把  文件夹拷进  目录下,这次也不例外,我们在  的最开头便做了这件事:

这里的  来自于我们上次构建的 libdeepmd,我们自然需要在  添加这一依赖。

可以看到,除了 libdeepmd 和 cudatoolkit 外,我们还添加了其它 LAMMPS 需要的外部依赖,如 mpich 和 zlib 等。

值得注意的是,我们拷到  目录下的  本质上是一个第三方的 package,并没有得到 LAMMPS 的官方支持。因此,我们要给 LAMMPS 的 cmake 文件打上补丁,加上这个 package:

现在,我们可以继续编写  了。首先配置 plumed:

接着,我们用 cmake 编译 LAMMPS,把能开启的包全部开启,尽可能地覆盖大多数用户:

我们通过 cmake 的参数开启了一坨 LAMMPS 的 package,同时通过配置  加入了对 libdeepmd 的链接。同时,我们通过环境变量配置了两类变体(variant):CPU 和 GPU、单精度和双精度。最后,编译,成功。

值得一提的是,如果使用者想开启更多的 package,最简单的方法是修改配方中 ,在  注释掉不想要的 variant,然后自己用  重新编译一遍。

我们用  和  开启了 shared libs 模式,这样,LAMMPS 会产生三类文件:LAMMPS 的 library、LAMMPS 的执行程序、Python package。如何将它们生成不同的库?这时我们需要用到  里的  选项:

在  中,我们把生成的文件分到了 、 和  三个子包内,同时利用  让后两个包依赖第一个包。这样,使用者便可以按需安装自己想要的功能了。

至此,、、 和  已经全部构建完成!下一篇文章中,我们将用  将这几个 package 打包成离线安装包。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201122A01T6E00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券