Paddle 打开pslib模式编译失败,缺少third_party依赖的文件

svgewumm  于 2021-11-30  发布在  Java
关注(0)|答案(5)|浏览(439)

pslib模式在百度内部使用,外部公司想采用该方式搭建大规模稀疏特征预估功能,编译上遇到问题
编译环境:
由于公司系统基于debian,因此先采用ubuntu的docker方式编译,编译到20%左右需要编译pslib的代码,出现以下依赖问题:
1、third_party/install/pslib/include/communicate/ps_server.h依赖的butil/endpoint.h不存在
2、third_party/install/pslib/include/common/timer.h依赖的,butil/time.h和bvar/latency_recorder.h不存在
应该是缺少了butil和bvar两个文件夹

请问这个依赖可以在哪里找到,另外,git上pslib编译如果编译成功后,能够正常使用吗

uajslkp6

uajslkp61#

third_party目录下的都是编译过程中自动下载,可以排查一下是否下载和编译第三方依赖是否有错误,或者直接重启编译触发重新下载试下

yizd12fk

yizd12fk2#

对,现在对问题已经自动下载了third_party下的代码开始编译,相当于这个依赖本身缺乏文件

k0pti3hp

k0pti3hp3#

因为pslib这个模式是百度内部使用的分布式训练方式,我担心会不会存在内部代码和github代码不一致,然后就没有办法编译通过,现在的问题就是依赖的third_party本身编译就有问题

ubby3x7f

ubby3x7f4#

pslib是编译的时候自动下载的,下载路径定义在这里,只要正确下载应该都是一致的,和内网外网应该没有关系
Paddle/cmake/external/pslib.cmake

Line 18 in 735ef49

| | IF((NOTDEFINED PSLIB_VER) OR (NOT DEFINED PSLIB_URL)) |

可以确认一下内网和外网编译用的Paddle分支、版本这些是不是一致的

6pp0gazn

6pp0gazn5#

这个没有设置的话看起来都是使用默认地址,主要是不知道公司内部在编译pslib的时候,版本和依赖的url是不是不一样的,这个能帮忙确认下吗

相关问题