Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/PaddlePaddle/Paddle into…
Browse files Browse the repository at this point in the history
… matmul_v2_new
  • Loading branch information
zyfncg committed Nov 1, 2021
2 parents 2e76b24 + b9fdd3b commit 8ee3572
Show file tree
Hide file tree
Showing 335 changed files with 17,355 additions and 6,031 deletions.
7 changes: 5 additions & 2 deletions cmake/external/boost.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,10 @@ set(BOOST_PROJECT "extern_boost")
# checked that the devtools package of CentOS 6 installs boost 1.41.0.
# So we use 1.41.0 here.
set(BOOST_VER "1.41.0")
set(BOOST_TAR "boost_1_41_0" CACHE STRING "" FORCE)
# boost_1_41_0_2021_10.tar.gz is almost the same with boost_1_41_0.tar.gz,
# except in visualc.hpp i comment a warning of "unknown compiler version",
# so if you need to change boost, you may need to block the warning similarly.
set(BOOST_TAR "boost_1_41_0_2021_10" CACHE STRING "" FORCE)
set(BOOST_URL "http://paddlepaddledeps.bj.bcebos.com/${BOOST_TAR}.tar.gz" CACHE STRING "" FORCE)

MESSAGE(STATUS "BOOST_VERSION: ${BOOST_VER}, BOOST_URL: ${BOOST_URL}")
Expand All @@ -46,7 +49,7 @@ ExternalProject_Add(
${BOOST_PROJECT}
${EXTERNAL_PROJECT_LOG_ARGS}
"${BOOST_DOWNLOAD_CMD}"
URL_MD5 f891e8c2c9424f0565f0129ad9ab4aff
URL_MD5 51be7cc203628dc0848e97eee32d79e3
PREFIX ${BOOST_PREFIX_DIR}
DOWNLOAD_DIR ${BOOST_SOURCE_DIR}
SOURCE_DIR ${BOOST_SOURCE_DIR}
Expand Down
2 changes: 1 addition & 1 deletion cmake/external/cinn.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ add_definitions(-w)
include(ExternalProject)
set(CINN_SOURCE_DIR ${THIRD_PARTY_PATH}/CINN)
# TODO(zhhsplendid): Modify git tag after we have release tag
set(CINN_GIT_TAG e422c01b7875301996a2baf67a14ba61b0e6192a)
set(CINN_GIT_TAG cb030430d76f42f7310d09608f9b22959ecbcb51)
set(CINN_OPTIONAL_ARGS -DPY_VERSION=${PY_VERSION} -DWITH_CUDA=${WITH_GPU} -DWITH_CUDNN=${WITH_GPU} -DPUBLISH_LIBS=ON -DWITH_TESTING=ON)
set(CINN_BUILD_COMMAND $(MAKE) cinnapi -j)
ExternalProject_Add(
Expand Down
1 change: 1 addition & 0 deletions cmake/operators.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ function(op_library TARGET)
list(REMOVE_ITEM hip_srcs "cholesky_op.cu")
list(REMOVE_ITEM hip_srcs "matrix_rank_op.cu")
list(REMOVE_ITEM hip_srcs "svd_op.cu")
list(REMOVE_ITEM hip_srcs "eigvalsh_op.cu")
list(REMOVE_ITEM hip_srcs "qr_op.cu")
list(REMOVE_ITEM hip_srcs "eigh_op.cu")
list(REMOVE_ITEM hip_srcs "multinomial_op.cu")
Expand Down
1 change: 1 addition & 0 deletions paddle/fluid/distributed/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0)
"${DISTRIBUTE_COMPILE_FLAGS} -faligned-new")
endif()

add_subdirectory(common)
add_subdirectory(service)
add_subdirectory(table)
add_subdirectory(test)
Expand Down
4 changes: 4 additions & 0 deletions paddle/fluid/distributed/common/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

cc_library(afs_wrapper SRCS afs_warpper.cc DEPS fs ps_framework_proto)

#set_property(GLOBAL PROPERTY COMMON_DEPS afs_warpper)
89 changes: 89 additions & 0 deletions paddle/fluid/distributed/common/afs_warpper.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
// Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "paddle/fluid/distributed/common/afs_warpper.h"
#include "paddle/fluid/framework/io/fs.h"

namespace paddle {
namespace distributed {
// AfsClient impl
int AfsClient::initialize(const FsClientParameter& fs_client_param) {
// temporarily implemented with hdfs-client
return initialize(fs_client_param.hadoop_bin(), fs_client_param.uri(),
fs_client_param.user(), fs_client_param.passwd(),
fs_client_param.buffer_size());
}
int AfsClient::initialize(const std::string& hadoop_bin, const std::string& uri,
const std::string& user, const std::string& passwd,
int buffer_size_param) {
return initialize(hadoop_bin, uri, paddle::string::format_string(
"%s,%s", user.c_str(), passwd.c_str()),
buffer_size_param);
}
int AfsClient::initialize(const std::string& hadoop_bin, const std::string& uri,
const std::string& ugi, int buffer_size_param) {
// temporarily implemented with hdfs-client
size_t buffer_size = 1L << 25; // 32MB
if (buffer_size_param > static_cast<int>(buffer_size)) {
buffer_size = buffer_size_param;
}
paddle::framework::hdfs_set_buffer_size(buffer_size);
paddle::framework::hdfs_set_command(paddle::string::format_string(
"2>>./hdfs_err.log %s fs -Dfs.default.name=%s -Dhadoop.job.ugi=%s "
"-Ddfs.client.block.write.retries=15 -Ddfs.rpc.timeout=300000",
hadoop_bin.c_str(), uri.c_str(), ugi.c_str()));
return 0;
}

// open file in 'w' or 'r'
std::shared_ptr<FsReadChannel> AfsClient::open_r(const FsChannelConfig& config,
uint32_t buffer_size,
int* err_no) {
std::shared_ptr<FsReadChannel> channel =
std::make_shared<FsReadChannel>(buffer_size);
std::shared_ptr<FILE> fp =
paddle::framework::fs_open_read(config.path, err_no, config.deconverter);
channel->open(fp, config);
return channel;
}
std::shared_ptr<FsWriteChannel> AfsClient::open_w(const FsChannelConfig& config,
uint32_t buffer_size,
int* err_no) {
std::shared_ptr<FsWriteChannel> channel =
std::make_shared<FsWriteChannel>(buffer_size);
std::shared_ptr<FILE> fp =
paddle::framework::fs_open_write(config.path, err_no, config.converter);
channel->open(fp, config);
return channel;
}

// remove file in path, path maybe a reg, such as 'part-000-*'
void AfsClient::remove(const std::string& path) {
return paddle::framework::fs_remove(path);
}
void AfsClient::remove_dir(const std::string& dir) {
return paddle::framework::fs_remove(dir);
}

// list files in path, path maybe a dir with reg
std::vector<std::string> AfsClient::list(const std::string& path) {
return paddle::framework::fs_list(path);
}

// exist or not
bool AfsClient::exist(const std::string& dir) {
return paddle::framework::fs_exists(dir);
}
} // namespace distributed
} // namespace paddle
156 changes: 156 additions & 0 deletions paddle/fluid/distributed/common/afs_warpper.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
// Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#pragma once

#include <functional>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include "paddle/fluid/distributed/ps.pb.h"
#include "paddle/fluid/string/string_helper.h"

namespace paddle {
namespace distributed {
struct FsDataConverter {
std::string converter;
std::string deconverter;
};

struct FsChannelConfig {
std::string path; // path of file
std::string converter; // data converter
std::string deconverter;
};

class FsReadChannel {
public:
FsReadChannel() : _buffer_size(0) {}
explicit FsReadChannel(uint32_t buffer_size) : _buffer_size(buffer_size) {}
virtual ~FsReadChannel() {}
FsReadChannel(FsReadChannel&&) = delete;
FsReadChannel(const FsReadChannel&) = delete;
int open(std::shared_ptr<FILE> fp, const FsChannelConfig& config) {
_file = fp;
return 0;
}
inline int close() {
_file.reset();
return 0;
}

inline uint32_t read_line(std::string& line_data) { // NOLINT
line_data.clear();
char buffer = '\0';
size_t read_count = 0;
while (1 == fread(&buffer, 1, 1, _file.get()) && buffer != '\n') {
++read_count;
line_data.append(&buffer, 1);
}
if (read_count == 0 && buffer != '\n') {
return -1;
}
return 0;
}

private:
uint32_t _buffer_size;
FsChannelConfig _config;
std::shared_ptr<FILE> _file;
};
class FsWriteChannel {
public:
FsWriteChannel() : _buffer_size(0) {}
explicit FsWriteChannel(uint32_t buffer_size) : _buffer_size(buffer_size) {}
virtual ~FsWriteChannel() {}
FsWriteChannel(FsWriteChannel&&) = delete;
FsWriteChannel(const FsWriteChannel&) = delete;

int open(std::shared_ptr<FILE> fp, const FsChannelConfig& config) {
_file = fp;

// the buffer has set in fs.cc
// if (_buffer_size != 0) {
// _buffer = std::shared_ptr<char>(new char[_buffer_size]);

// CHECK(0 == setvbuf(&*_file, _buffer.get(), _IOFBF, _buffer_size));
//}
return 0;
}

inline void flush() { return; }

inline int close() {
flush();
_file.reset();
return 0;
}

inline uint32_t write_line(const char* data, uint32_t size) {
size_t write_count = fwrite_unlocked(data, 1, size, _file.get());
if (write_count != size) {
return -1;
}
write_count = fwrite_unlocked("\n", 1, 1, _file.get());
if (write_count != 1) {
return -1;
}
return 0;
}
inline uint32_t write_line(const std::string& data) {
return write_line(data.c_str(), data.size());
}

private:
uint32_t _buffer_size;
FsChannelConfig _config;
std::shared_ptr<FILE> _file;
std::shared_ptr<char> _buffer;
};

class AfsClient {
public:
AfsClient() {}
virtual ~AfsClient() {}
AfsClient(AfsClient&&) = delete;
AfsClient(const AfsClient&) = delete;

int initialize(const FsClientParameter& fs_client_param);
int initialize(const std::string& hadoop_bin, const std::string& uri,
const std::string& user, const std::string& passwd,
int buffer_size_param = (1L << 25));
int initialize(const std::string& hadoop_bin, const std::string& uri,
const std::string& ugi, int buffer_size_param = (1L << 25));

// open file in 'w' or 'r'
std::shared_ptr<FsReadChannel> open_r(const FsChannelConfig& config,
uint32_t buffer_size = 0,
int* err_no = nullptr);
std::shared_ptr<FsWriteChannel> open_w(const FsChannelConfig& config,
uint32_t buffer_size = 0,
int* err_no = nullptr);

// remove file in path, path maybe a reg, such as 'part-000-*'
void remove(const std::string& path);
void remove_dir(const std::string& dir);

// list files in path, path maybe a dir with reg
std::vector<std::string> list(const std::string& path);

// exist or not
bool exist(const std::string& dir);
};
} // namespace distributed
} // namespace paddle
93 changes: 93 additions & 0 deletions paddle/fluid/distributed/common/cost_timer.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
// Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#pragma once
#include <memory>
#include <unordered_map>
#include "butil/time.h"
#include "bvar/latency_recorder.h"
#include "glog/logging.h"

namespace paddle {
namespace distributed {

struct CostProfilerNode {
std::shared_ptr<bvar::LatencyRecorder> recorder;
};

class CostProfiler {
public:
~CostProfiler() {}
static CostProfiler& instance() {
static CostProfiler profiler;
return profiler;
}

void register_profiler(const std::string& label) {
if (_cost_profiler_map.find(label) != _cost_profiler_map.end()) {
return;
}
auto profiler_node = std::make_shared<CostProfilerNode>();
profiler_node->recorder.reset(
new bvar::LatencyRecorder("cost_profiler", label));
_cost_profiler_map[label] = profiler_node;
}

CostProfilerNode* profiler(const std::string& label) {
auto itr = _cost_profiler_map.find(label);
if (itr != _cost_profiler_map.end()) {
return itr->second.get();
}
return NULL;
}

private:
CostProfiler() {}
std::unordered_map<std::string, std::shared_ptr<CostProfilerNode>>
_cost_profiler_map;
};

class CostTimer {
public:
explicit CostTimer(const std::string& label) {
_label = label;
auto& profiler = CostProfiler::instance();
_profiler_node = profiler.profiler(label);
// 如果不在profiler中,则使用log输出耗时信息
_is_print_cost = _profiler_node == NULL;
_start_time_ms = butil::gettimeofday_ms();
}
explicit CostTimer(CostProfilerNode& profiler_node) { // NOLINT
_is_print_cost = false;
_profiler_node = &profiler_node;
_start_time_ms = butil::gettimeofday_ms();
}
~CostTimer() {
if (_is_print_cost) {
LOG(INFO) << "CostTimer label:" << _label
<< ", cost:" << butil::gettimeofday_ms() - _start_time_ms
<< "ms";
} else {
*(_profiler_node->recorder) << butil::gettimeofday_ms() - _start_time_ms;
}
}

private:
std::string _label;
bool _is_print_cost;
uint64_t _start_time_ms;
CostProfilerNode* _profiler_node;
};
} // namespace distributed
} // namespace paddle
Loading

1 comment on commit 8ee3572

@paddle-bot-old
Copy link

@paddle-bot-old paddle-bot-old bot commented on 8ee3572 Nov 1, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🕵️ CI failures summary

🔍 PR: #36844 Commit ID: 8ee3572 contains failed CI.

🔹 Failed: PR-CI-Mac-Python3

build_failed
2021-11-01 17:42:01 + collect_ccache_hits
2021-11-01 17:42:01 ++ ccache -s
2021-11-01 17:42:01 ++ grep 'cache hit rate'
2021-11-01 17:42:01 ++ awk '{print $4}'
2021-11-01 17:42:01 + rate=96.97
2021-11-01 17:42:01 + echo 'ccache hit rate: 96.97%'
2021-11-01 17:42:01 ccache hit rate: 96.97%
2021-11-01 17:42:01 + echo 'ipipe_log_param_Ccache_Hit_Rate: 96.97%'
2021-11-01 17:42:01 + '[' 2 '!=' 0 ']'
2021-11-01 17:42:01 + exit 7
2021-11-01 17:42:01 + EXCODE=7
2021-11-01 17:42:01 + echo 'EXCODE: 7'
2021-11-01 17:42:01 EXCODE: 7
2021-11-01 17:42:01 + echo 'ipipe_log_param_EXCODE: 7'
2021-11-01 17:42:01 ipipe_log_param_EXCODE: 7
2021-11-01 17:42:01 + '[' 7 -eq 0 ']'
2021-11-01 17:42:01 + set +x
2021-11-01 17:42:01 Sorry, build failed.
2021-11-01 17:42:01 + exit 7

🔹 Failed: PR-CI-APPROVAL

approve_failed
2021-11-01 17:46:09 正在解析主机 sys-p0.bj.bcebos.com... 182.61.200.195, 182.61.200.229, 2409:8c04:1001:1002:0:ff:b001:368a
2021-11-01 17:46:09 正在连接 sys-p0.bj.bcebos.com|182.61.200.195|:443... 已连接。
2021-11-01 17:46:09 警告: 证书通用名 “*.bcebos.com” 与所要求的主机名 “sys-p0.bj.bcebos.com” 不符。
2021-11-01 17:46:09 已发出 HTTP 请求,正在等待回应... 200 OK
2021-11-01 17:46:09 长度:5 [application/octet-stream]
2021-11-01 17:46:09 正在保存至: “bk.txt”
2021-11-01 17:46:09 0K 100% 2.65M=0s
2021-11-01 17:46:09 2021-11-01 17:46:09 (2.65 MB/s) - 已保存 “bk.txt” [5/5])
2021-11-01 17:46:16 ****************
2021-11-01 17:46:16 0. You must have Dianhai approval for change 20+ files or add than 1000+ lines of content.
2021-11-01 17:46:16 There are 1 approved errors.
2021-11-01 17:46:16 ****************
2021-11-01 17:46:16 + EXCODE=6
2021-11-01 17:46:16 + echo 'EXCODE: 6'
2021-11-01 17:46:16 EXCODE: 6
2021-11-01 17:46:16 + echo 'ipipe_log_param_EXCODE: 6'
2021-11-01 17:46:16 ipipe_log_param_EXCODE: 6
2021-11-01 17:46:16 + exit 6

🔹 Failed: PR-CI-musl

Unknown Failed
2021-11-01 17:51:07       |                                    ^~~~~~~~~~~~~~~
2021-11-01 17:51:07 /paddle/paddle/pten/core/kernel_registry.h:260:3: note: in expansion of macro 'PT_CONCATENATE'
2021-11-01 17:51:07 260 | PT_CONCATENATE(PT_KERNEL_INSTANTIATION, N)
2021-11-01 17:51:07 | ^~~~~~~~~~~~~~
2021-11-01 17:51:07 /paddle/paddle/pten/core/kernel_registry.h:254:3: note: in expansion of macro '_PT_KERNEL_INSTANTIATION'
2021-11-01 17:51:07 254 | _PT_KERNEL_INSTANTIATION(PT_NARGS(cpp_dtype, VA_ARGS),
2021-11-01 17:51:07 | ^~~~~~~~~~~~~~~~~~~~~~~~
2021-11-01 17:51:07 /paddle/paddle/pten/core/kernel_registry.h:220:3: note: in expansion of macro 'PT_KERNEL_INSTANTIATION'
2021-11-01 17:51:07 220 | PT_KERNEL_INSTANTIATION(meta_kernel_fn, cpp_dtype, VA_ARGS);
2021-11-01 17:51:07 | ^~~~~~~~~~~~~~~~~~~~~~~
2021-11-01 17:51:07 /paddle/paddle/pten/core/kernel_registry.h:207:3: note: in expansion of macro '_PT_REGISTER_KERNEL'
2021-11-01 17:51:07 207 | _PT_REGISTER_KERNEL(kernel_name,
2021-11-01 17:51:07 | ^~~~~~~~~~~~~~~~~~~
2021-11-01 17:51:07 /paddle/paddle/pten/kernels/cpu/linalg.cc:93:1: note: in expansion of macro 'PT_REGISTER_KERNEL'
2021-11-01 17:51:07 93 | PT_REGISTER_KERNEL(
2021-11-01 17:51:07 | ^~~~~~~~~~~~~~~~~~
2021-11-01 17:51:07 make[2]: *** [paddle/pten/kernels/cpu/CMakeFiles/linalg_cpu.dir/build.make:63: paddle/pten/kernels/cpu/CMakeFiles/linalg_cpu.dir/linalg.cc.o] Error 1
2021-11-01 17:51:07 make[1]: *** [CMakeFiles/Makefile2:1920: paddle/pten/kernels/cpu/CMakeFiles/linalg_cpu.dir/all] Error 2
2021-11-01 17:51:07 make: *** [Makefile:130: all] Error 2

🔹 Failed: PR-CI-Inference

Unknown Failed
2021-11-01 17:55:55 + rate=60.54
2021-11-01 17:55:55 + echo 'ccache hit rate: 60.54%'
2021-11-01 17:55:55 ccache hit rate: 60.54%
2021-11-01 17:55:55 + echo 'ipipe_log_param_Ccache_Hit_Rate: 60.54%'
2021-11-01 17:55:55 + '[' 2 '!=' 0 ']'
2021-11-01 17:55:55 + exit 7
2021-11-01 17:55:55 + EXCODE=7
2021-11-01 17:55:55 + '[' 7 -eq 0 ']'
2021-11-01 17:55:55 + [[ 7 -eq 0 ]]
2021-11-01 17:55:55 + [[ 7 -eq 4 ]]
2021-11-01 17:55:55 + [[ 7 -eq 5 ]]
2021-11-01 17:55:55 + [[ 7 -eq 6 ]]
2021-11-01 17:55:55 + [[ 7 -eq 7 ]]
2021-11-01 17:55:55 + echo 'Sorry, build failed.'
2021-11-01 17:55:55 Sorry, build failed.
2021-11-01 17:55:55 + set -x
2021-11-01 17:55:55 + exit 7
2021-11-01 17:55:55 {build code state=7}
2021-11-01 17:56:05 kill agent BUILD_CODE_FAIL

🔹 Failed: PR-CI-OP-benchmark

build_failed
2021-11-01 18:00:42 ccache hit rate: 99.28%
2021-11-01 18:00:42 + echo 'ipipe_log_param_Ccache_Hit_Rate: 99.28%'
2021-11-01 18:00:42 + '[' 2 '!=' 0 ']'
2021-11-01 18:00:42 + exit 7
2021-11-01 18:00:42 + '[' 7 -ne 0 ']'
2021-11-01 18:00:42 + LOG '[FATAL] compile fail.'
2021-11-01 18:00:42 + echo '[tools/test_ci_op_benchmark.sh:175] [FATAL] compile fail.'
2021-11-01 18:00:42 [tools/test_ci_op_benchmark.sh:175] [FATAL] compile fail.
2021-11-01 18:00:42 + exit 7
2021-11-01 18:00:42 + EXCODE=7
2021-11-01 18:00:42 + echo 'EXCODE: 7'
2021-11-01 18:00:42 EXCODE: 7
2021-11-01 18:00:42 + echo 'ipipe_log_param_EXCODE: 7'
2021-11-01 18:00:42 ipipe_log_param_EXCODE: 7
2021-11-01 18:00:42 + '[' 7 -eq 0 ']'
2021-11-01 18:00:42 + set +x
2021-11-01 18:00:42 Sorry, build failed.
2021-11-01 18:00:42 + exit 7
2021-11-01 18:00:42 {build code state=7}

🔹 Failed: PR-CI-NPU

Unknown Failed
2021-11-01 18:12:12 + set +x
2021-11-01 18:12:12 + SOURCE=/paddle/build/coverage-diff
2021-11-01 18:12:12 + [[ -d /paddle/build/coverage-diff ]]
2021-11-01 18:12:12 + [[ -f /paddle/build/coverage-diff ]]
2021-11-01 18:12:12 + echo 'No such file or directory: /paddle/build/coverage-diff'
2021-11-01 18:12:12 + exit 0
2021-11-01 18:12:12 No such file or directory: /paddle/build/coverage-diff
2021-11-01 18:12:12 report uploaded
2021-11-01 18:12:12 ===================================================================
2021-11-01 18:12:12 c++-coverage
2021-11-01 18:12:12 https://xly.bce.baidu.com/ipipe/ipipe-report/report/8829508/c++-coverage/
2021-11-01 18:12:12 ===================================================================
2021-11-01 18:12:12 + [[ 7 -eq 0 ]]
2021-11-01 18:12:12 + [[ 7 -eq 4 ]]
2021-11-01 18:12:12 + [[ 7 -eq 6 ]]
2021-11-01 18:12:12 + [[ 7 -eq 7 ]]
2021-11-01 18:12:12 + echo 'Sorry, build failed.'
2021-11-01 18:12:12 + exit 7
2021-11-01 18:12:12 Sorry, build failed.

🔹 Failed: PR-CI-GpuPS

Unknown Failed
2021-11-01 18:10:51 ++ awk '{print $4}'
2021-11-01 18:10:51 + rate=97.34
2021-11-01 18:10:51 + echo 'ccache hit rate: 97.34%'
2021-11-01 18:10:51 ccache hit rate: 97.34%
2021-11-01 18:10:51 + echo 'ipipe_log_param_Ccache_Hit_Rate: 97.34%'
2021-11-01 18:10:51 + '[' 2 '!=' 0 ']'
2021-11-01 18:10:51 + exit 7
2021-11-01 18:10:51 + EXCODE=7
2021-11-01 18:10:51 + '[' 7 -eq 0 ']'
2021-11-01 18:10:51 + [[ 7 -eq 0 ]]
2021-11-01 18:10:51 + [[ 7 -eq 4 ]]
2021-11-01 18:10:51 + [[ 7 -eq 5 ]]
2021-11-01 18:10:51 + [[ 7 -eq 6 ]]
2021-11-01 18:10:51 + [[ 7 -eq 7 ]]
2021-11-01 18:10:51 + echo 'Sorry, build failed.'
2021-11-01 18:10:51 Sorry, build failed.
2021-11-01 18:10:51 + set -x
2021-11-01 18:10:51 + exit 7
2021-11-01 18:10:51 {build code state=7}

Please sign in to comment.