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

conda build 系列教程・deepmd 的构建|libdeepmd

在 deepmd-kit-recipes/libdeepmd-feedstock的  文件中,我们把包的名称设置为 ,其中把  放在最后,就可以确保用  或者  就可以搜寻到指定的版本。

build:

number:1

string:"{{ PKG_BUILDNUM }}_cuda{{ cuda_compiler_version }}_{{ dp_variant }}"# [float_prec == 'high']

string:"{{ PKG_BUILDNUM }}_cuda{{ cuda_compiler_version }}_{{ dp_variant }}_{}"# [float_prec != 'high']

run_exports:

-libdeepmd{{version}}*{{dp_variant}}# [float_prec == 'high']

-libdeepmd{{version}}*{{dp_variant}}_{{float_prec}}# [float_prec != 'high']

skip:true# [not linux]

同时,设置了 ,可以确保把  加入构建()依赖的 package,自动把相同版本的  加入运行时 () 的依赖。

和前两个 package 类似, 的依赖就是 、、 以及其它构建工具:

requirements:

build:

-{{compiler('c')}}

-{{compiler('cxx')}}

-cmake

-git

host:

-cudatoolkit{{cuda_compiler_version}}*# [cuda_compiler_version != 'None']

-cudnn{{cudnn}}*# [cuda_compiler_version != 'None']

-libtensorflow_cc{{tf}}*

run:

-libtensorflow_cc{{tf}}*

-{{pin_compatible('cudatoolkit',max_pin='x.x')}}# [cuda_compiler_version != 'None']

-{{pin_compatible('cudnn')}}# [cuda_compiler_version != 'None']

这里,如何指定 tf 的版本?这是在  最上方实现的,可以根据不同的  设置不同的  和 ,之后再将两者拼接起来:

{% if cuda_compiler_version == "None" %}

{% set dp_variant = "cpu" %}

{% else %}

{% set dp_variant = "gpu" %}

{% endif %}

{% if cuda_compiler_version == "None" %}

{% set dp_variant = "cpu" %}

{% set tf_version = "2.3" %}

{% else %}

{% set dp_variant = "gpu" %}

{% if cuda_compiler_version == "10.1" %}

{% set tf_version = "2.3" %}

{% elif cuda_compiler_version == "10.0" %}

{% set tf_version = "2.1" %}

{% else %}

{% set tf_version = "2.1" %}

{% endif %}

{% endif %}

{% set tf = "{} {}".format(tf_version, dp_variant) %}

和  一样,我们在  里面仍然把  的版本设为 5.4,因为 cudatoolkit 仍然不支持用  7.3 编译。

c_compiler_version:

-5.4

cxx_compiler_version:

-5.4

文件比较简单。在使用  编译时,我们只需要把  和其它目录均设为  即可。

set-e

mkdir -psource/build

cdsource/build

cmake -DTENSORFLOW_ROOT=$-DCMAKE_INSTALL_PREFIX=$-DFLOAT_PREC=$-DCMAKE_CXX_FLAGS="-lrt -pthread"-DCMAKE_SHARED_LINKER_FLAGS_INIT="-lrt -pthread"-DCMAKE_LINK_WHAT_YOU_USE=TRUE ..

make -j$

make install

make lammps

mkdir -p$/share

mv USER-DEEPMD$/share

指  检测到的核心数。现在,大功告成!接下来我们就可以开始编译集成了 DP 的 LAMMPS 以及 AmberTools。

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券