Skip to content

Commit 4759bc8

Browse files
committed
Merge branch 'develop' of https://github.com/liutiexing/Paddle into develop
2 parents 8744ba7 + 47d6bc8 commit 4759bc8

File tree

243 files changed

+16903
-1839
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

243 files changed

+16903
-1839
lines changed

CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ project(paddle CXX C)
3838
# enable language CUDA
3939
# TODO(Shibo Tao): remove find_package(CUDA) completely.
4040
find_package(CUDA QUIET)
41+
find_package(MKL CONFIG QUIET)
42+
option(WITH_ONEMKL "Compile PaddlePaddle with oneMKL" OFF)
4143
option(WITH_GPU "Compile PaddlePaddle with NVIDIA GPU" ${CUDA_FOUND})
4244
option(WITH_TENSORRT "Compile PaddlePaddle with NVIDIA TensorRT" OFF)
4345
option(WITH_XPU "Compile PaddlePaddle with BAIDU KUNLUN XPU" OFF)
@@ -225,6 +227,7 @@ option(WITH_STRIP "Strip so files of Whl packages" OFF)
225227
option(NEW_RELEASE_CUBIN "PaddlePaddle next-level release strategy for pypi cubin package" OFF)
226228
option(NEW_RELEASE_JIT "PaddlePaddle next-level release strategy for backup jit package" OFF)
227229
option(WITH_ASCEND_INT64 "Compile with int64 kernel for ascend NPU" OFF)
230+
option(WITH_POCKETFFT "Compile with pocketfft support" ON)
228231

229232
# PY_VERSION
230233
if(NOT PY_VERSION)
@@ -373,6 +376,10 @@ if (WITH_MIPS)
373376
add_definitions(-DPADDLE_WITH_MIPS)
374377
endif()
375378

379+
if (WITH_ONEMKL)
380+
add_definitions(-DPADDLE_WITH_ONEMKL)
381+
endif()
382+
376383
if (WITH_HETERPS)
377384
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0)
378385
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -faligned-new")

cmake/FindGperftools.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
find_library(GPERFTOOLS_TCMALLOC
2121
NAMES tcmalloc
2222
HINTS ${Gperftools_ROOT_DIR}/lib)
23-
23+
2424
find_library(GPERFTOOLS_PROFILER
2525
NAMES profiler
2626
HINTS ${Gperftools_ROOT_DIR}/lib)

cmake/external/lapack.cmake

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
INCLUDE (ExternalProject)
16+
17+
SET(LAPACK_PREFIX_DIR ${THIRD_PARTY_PATH}/lapack)
18+
SET(LAPACK_SOURCE_DIR ${THIRD_PARTY_PATH}/lapack/src/extern_lapack)
19+
SET(LAPACK_INSTALL_DIR ${THIRD_PARTY_PATH}/install/lapack)
20+
SET(LAPACK_INCLUDE_DIR ${LAPACK_SOURCE_DIR})
21+
SET(LAPACK_LIB_DIR ${LAPACK_INSTALL_DIR}/lib)
22+
23+
# Note(zhouwei): lapack need fortan compiler which many machines don't have, so use precompiled library.
24+
# use lapack tag v3.10.0 on 06/28/2021 https://github.com/Reference-LAPACK/lapack
25+
if(LINUX)
26+
SET(LAPACK_VER "lapack_lnx_v3.10.0.20210628" CACHE STRING "" FORCE)
27+
SET(LAPACK_URL "https://paddlepaddledeps.bj.bcebos.com/${LAPACK_VER}.tar.gz" CACHE STRING "" FORCE)
28+
SET(LAPACK_URL_MD5 71f8cc8237a8571692f3e07f9a4f25f6)
29+
SET(GNU_RT_LIB_1 "${LAPACK_LIB_DIR}/libquadmath.so.0")
30+
SET(GFORTRAN_LIB "${LAPACK_LIB_DIR}/libgfortran.so.3")
31+
SET(BLAS_LIB "${LAPACK_LIB_DIR}/libblas.so.3")
32+
SET(LAPACK_LIB "${LAPACK_LIB_DIR}/liblapack.so.3")
33+
elseif(WIN32)
34+
# Refer to [lapack-for-windows] http://icl.cs.utk.edu/lapack-for-windows/lapack/#lapacke
35+
SET(LAPACK_VER "lapack_win_v3.10.0.20210628" CACHE STRING "" FORCE)
36+
SET(LAPACK_URL "https://paddlepaddledeps.bj.bcebos.com/${LAPACK_VER}.zip" CACHE STRING "" FORCE)
37+
SET(LAPACK_URL_MD5 590d080392dcd5abbd5dca767a50b63a)
38+
SET(GNU_RT_LIB_1 "${LAPACK_LIB_DIR}/libquadmath-0.dll")
39+
SET(GNU_RT_LIB_2 "${LAPACK_LIB_DIR}/libgcc_s_seh-1.dll")
40+
SET(GFORTRAN_LIB "${LAPACK_LIB_DIR}/libgfortran-3.dll")
41+
SET(BLAS_LIB "${LAPACK_LIB_DIR}/libblas.dll")
42+
SET(LAPACK_LIB "${LAPACK_LIB_DIR}/liblapack.dll")
43+
else()
44+
SET(LAPACK_VER "lapack_mac_v3.10.0.20210628" CACHE STRING "" FORCE)
45+
SET(LAPACK_URL "https://paddlepaddledeps.bj.bcebos.com/${LAPACK_VER}.tar.gz" CACHE STRING "" FORCE)
46+
SET(LAPACK_URL_MD5 427aecf8dee8523de3566ca8e47944d7)
47+
SET(GNU_RT_LIB_1 "${LAPACK_LIB_DIR}/libquadmath.0.dylib")
48+
SET(GNU_RT_LIB_2 "${LAPACK_LIB_DIR}/libgcc_s.1.dylib")
49+
SET(GFORTRAN_LIB "${LAPACK_LIB_DIR}/libgfortran.5.dylib")
50+
SET(BLAS_LIB "${LAPACK_LIB_DIR}/libblas.3.dylib")
51+
SET(LAPACK_LIB "${LAPACK_LIB_DIR}/liblapack.3.dylib")
52+
endif()
53+
54+
ExternalProject_Add(
55+
extern_lapack
56+
${EXTERNAL_PROJECT_LOG_ARGS}
57+
URL ${LAPACK_URL}
58+
URL_MD5 ${LAPACK_URL_MD5}
59+
PREFIX ${LAPACK_PREFIX_DIR}
60+
DOWNLOAD_DIR ${LAPACK_SOURCE_DIR}
61+
DOWNLOAD_NO_PROGRESS 1
62+
PATCH_COMMAND ""
63+
UPDATE_COMMAND ""
64+
CONFIGURE_COMMAND ""
65+
BUILD_COMMAND ""
66+
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory ${LAPACK_SOURCE_DIR} ${LAPACK_LIB_DIR}
67+
BUILD_BYPRODUCTS ${BLAS_LIB}
68+
BUILD_BYPRODUCTS ${LAPACK_LIB}
69+
)

cmake/external/lite.cmake

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,14 @@ if (LITE_WITH_XPU)
3535
ENDIF()
3636
endif()
3737

38+
if (LITE_WITH_NNADAPTER)
39+
add_definitions(-DLITE_SUBGRAPH_WITH_NNADAPTER)
40+
if (NNADAPTER_WITH_HUAWEI_ASCEND_NPU)
41+
add_definitions(-DLITE_SUBGRAPH_WITH_NPU)
42+
set(NPU_SDK_ROOT "/usr/local/Ascend/ascend-toolkit/latest" CACHE STRING "default NPU SDK ROOT")
43+
endif()
44+
endif()
45+
3846
if (NOT LITE_SOURCE_DIR OR NOT LITE_BINARY_DIR)
3947
include(ExternalProject)
4048
set(LITE_PROJECT extern_lite)
@@ -67,6 +75,9 @@ if (NOT LITE_SOURCE_DIR OR NOT LITE_BINARY_DIR)
6775
-DLITE_WITH_XPU=${LITE_WITH_XPU}
6876
-DXPU_SDK_URL=${XPU_BASE_URL}
6977
-DXPU_SDK_ENV=${XPU_SDK_ENV}
78+
-DLITE_WITH_NNADAPTER=${LITE_WITH_NNADAPTER}
79+
-DNNADAPTER_WITH_HUAWEI_ASCEND_NPU=${NNADAPTER_WITH_HUAWEI_ASCEND_NPU}
80+
-DNNADAPTER_HUAWEI_ASCEND_NPU_SDK_ROOT=${NPU_SDK_ROOT}
7081
-DLITE_WITH_CODE_META_INFO=OFF
7182
-DLITE_WITH_ARM=ON)
7283
ExternalProject_Add(
@@ -110,6 +121,9 @@ if (NOT LITE_SOURCE_DIR OR NOT LITE_BINARY_DIR)
110121
-DLITE_WITH_XPU=${LITE_WITH_XPU}
111122
-DXPU_SDK_URL=${XPU_BASE_URL}
112123
-DXPU_SDK_ENV=${XPU_SDK_ENV}
124+
-DLITE_WITH_NNADAPTER=${LITE_WITH_NNADAPTER}
125+
-DNNADAPTER_WITH_HUAWEI_ASCEND_NPU=${NNADAPTER_WITH_HUAWEI_ASCEND_NPU}
126+
-DNNADAPTER_HUAWEI_ASCEND_NPU_SDK_ROOT=${NPU_SDK_ROOT}
113127
-DLITE_WITH_CODE_META_INFO=OFF
114128
-DLITE_WITH_ARM=OFF)
115129

@@ -120,6 +134,7 @@ if (NOT LITE_SOURCE_DIR OR NOT LITE_BINARY_DIR)
120134
GIT_TAG ${LITE_GIT_TAG}
121135
PREFIX ${LITE_SOURCES_DIR}
122136
UPDATE_COMMAND ""
137+
PATCH_COMMAND sed -i "s?NNadapter_bridges_path = os.path.abspath('..')+\"\/lite\/kernels\/nnadapter\/bridges\/paddle_use_bridges.h\"?NNadapter_bridges_path = os.path.abspath(\'..\')+\"\/extern_lite\/lite\/kernels\/nnadapter\/bridges\/paddle_use_bridges.h\"?" ${LITE_SOURCES_DIR}/src/extern_lite//lite/tools/cmake_tools/record_supported_kernel_op.py && sed -i "/general::ssa::ConvertToSSA(cpp_prog)$<SEMICOLON>/d" ${LITE_SOURCES_DIR}/src/extern_lite/lite/model_parser/model_parser.cc
123138
BUILD_COMMAND ${LITE_BUILD_COMMAND}
124139
INSTALL_COMMAND ""
125140
CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
@@ -146,6 +161,11 @@ endif()
146161
if (WITH_ARM)
147162
if(LITE_WITH_XPU)
148163
set(LITE_OUTPUT_BIN_DIR inference_lite_lib.armlinux.armv8.xpu)
164+
elseif(LITE_WITH_NNADAPTER)
165+
message("Enable LITE_WITH_NNADAPTER")
166+
if (NNADAPTER_WITH_HUAWEI_ASCEND_NPU)
167+
set(LITE_OUTPUT_BIN_DIR inference_lite_lib.armlinux.armv8.nnadapter)
168+
endif()
149169
else()
150170
set(LITE_OUTPUT_BIN_DIR inference_lite_lib.armlinux.armv8)
151171
endif()
@@ -174,5 +194,16 @@ endfunction()
174194
external_lite_libs(lite_full_static ${LITE_BINARY_DIR}/${LITE_OUTPUT_BIN_DIR}/cxx/lib/libpaddle_full_api_shared.so)
175195
set(LITE_SHARED_LIB ${LITE_BINARY_DIR}/${LITE_OUTPUT_BIN_DIR}/cxx/lib/libpaddle_full_api_shared.so)
176196

197+
if (LITE_WITH_NNADAPTER)
198+
set(LITE_NNADAPTER_LIB ${LITE_BINARY_DIR}/${LITE_OUTPUT_BIN_DIR}/cxx/lib/libnnadapter.so)
199+
if (NNADAPTER_WITH_HUAWEI_ASCEND_NPU)
200+
external_lite_libs(lite_nnadapter ${LITE_BINARY_DIR}/${LITE_OUTPUT_BIN_DIR}/cxx/lib/libnnadapter.so ${LITE_BINARY_DIR}/${LITE_OUTPUT_BIN_DIR}/cxx/lib/libnnadapter_driver_huawei_ascend_npu.so)
201+
set(LITE_DEPS lite_full_static lite_nnadapter)
202+
set(LITE_NNADAPTER_NPU_LIB ${LITE_BINARY_DIR}/${LITE_OUTPUT_BIN_DIR}/cxx/lib/libnnadapter_driver_huawei_ascend_npu.so)
203+
endif()
204+
else()
205+
set(LITE_DEPS lite_full_static)
206+
endif()
207+
177208
add_definitions(-DPADDLE_WITH_LITE)
178209
add_definitions(-DLITE_WITH_LOG)

cmake/external/pocketfft.cmake

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
include(ExternalProject)
16+
17+
18+
set(POCKETFFT_PATH "${THIRD_PARTY_PATH}/pocketfft" CACHE STRING "A path setting for external_pocketfft path.")
19+
set(POCKETFFT_PREFIX_DIR ${POCKETFFT_PATH})
20+
21+
set(POCKETFFT_REPOSITORY https://gitlab.mpcdf.mpg.de/mtr/pocketfft.git)
22+
set(POCKETFFT_TAG release_for_eigen)
23+
24+
SET(POCKETFFT_INCLUDE_DIR ${POCKETFFT_PREFIX_DIR}/src)
25+
message("POCKETFFT_INCLUDE_DIR is ${POCKETFFT_INCLUDE_DIR}")
26+
include_directories(${POCKETFFT_INCLUDE_DIR})
27+
28+
ExternalProject_Add(
29+
extern_pocketfft
30+
${EXTERNAL_PROJECT_LOG_ARGS}
31+
${SHALLOW_CLONE}
32+
GIT_REPOSITORY ${POCKETFFT_REPOSITORY}
33+
GIT_TAG ${POCKETFFT_TAG}
34+
PREFIX ${POCKETFFT_PREFIX_DIR}
35+
UPDATE_COMMAND ""
36+
CONFIGURE_COMMAND ""
37+
BUILD_COMMAND ""
38+
INSTALL_COMMAND ""
39+
TEST_COMMAND ""
40+
)
41+
42+
add_library(pocketfft INTERFACE)
43+
44+
add_dependencies(pocketfft extern_pocketfft)

cmake/third_party.cmake

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,9 +210,10 @@ include(external/threadpool)# download threadpool
210210
include(external/dlpack) # download dlpack
211211
include(external/xxhash) # download, build, install xxhash
212212
include(external/warpctc) # download, build, install warpctc
213+
include(external/lapack) # download, build, install lapack
213214

214215
list(APPEND third_party_deps extern_eigen3 extern_gflags extern_glog extern_boost extern_xxhash)
215-
list(APPEND third_party_deps extern_zlib extern_dlpack extern_warpctc extern_threadpool)
216+
list(APPEND third_party_deps extern_zlib extern_dlpack extern_warpctc extern_threadpool extern_lapack)
216217

217218
include(cblas) # find first, then download, build, install openblas
218219

@@ -361,4 +362,10 @@ if (WITH_CRYPTO)
361362
add_definitions(-DPADDLE_WITH_CRYPTO)
362363
endif (WITH_CRYPTO)
363364

365+
if (WITH_POCKETFFT)
366+
include(external/pocketfft)
367+
list(APPEND third_party_deps extern_pocketfft)
368+
add_definitions(-DPADDLE_WITH_POCKETFFT)
369+
endif (WITH_POCKETFFT)
370+
364371
add_custom_target(third_party ALL DEPENDS ${third_party_deps})

log

2.75 KB
Binary file not shown.

paddle/fluid/framework/data_layout_transform.cc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,11 +179,9 @@ void innerTransDataLayoutFromMKLDNN(DataLayout in_layout, DataLayout out_layout,
179179

180180
if ((in_format != out_format) || always_copy) {
181181
void* in_data = GetDataFromTensor(in, in_type);
182-
std::string key =
183-
platform::CreateKey(*dev_ctx, in_tz, in_format, out_format, in_type);
184182

185-
platform::ReorderMKLDNNHandler handler(in_tz, in.type(), in_type, *dev_ctx,
186-
cpu_engine, key);
183+
platform::ReorderMKLDNNHandler handler(in_tz, in.type(), in_type,
184+
cpu_engine);
187185

188186
auto reorder_src_memory_p = handler.AcquireSrcMemory(in_format, in_data);
189187
auto reorder_dst_memory_p =

paddle/fluid/framework/data_type.h

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ See the License for the specific language governing permissions and
1313
limitations under the License. */
1414

1515
#pragma once
16+
#include <iostream>
1617
#include <string>
1718
#include <typeindex>
1819

@@ -170,11 +171,26 @@ extern inline proto::VarType::Type ToComplexType(proto::VarType::Type t) {
170171
return proto::VarType::COMPLEX128;
171172
default:
172173
PADDLE_THROW(platform::errors::Unimplemented(
173-
"Unknown complex value data type (%s), now only support float32 and "
174+
"Unknown real value data type (%s), now only support float32 and "
174175
"float64.",
175176
DataTypeToString(t)));
176177
}
177178
}
178179

180+
extern inline proto::VarType::Type ToRealType(proto::VarType::Type t) {
181+
switch (t) {
182+
case proto::VarType::COMPLEX64:
183+
return proto::VarType::FP32;
184+
case proto::VarType::COMPLEX128:
185+
return proto::VarType::FP64;
186+
default:
187+
PADDLE_THROW(platform::errors::Unimplemented(
188+
"Unknown complex value data type (%s), now only support complex64 "
189+
"and "
190+
"complex128.",
191+
DataTypeToString(t)));
192+
}
193+
}
194+
179195
} // namespace framework
180196
} // namespace paddle

paddle/fluid/framework/ddim.cc

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,34 @@ std::ostream& operator<<(std::ostream& os, const DDim& ddim) {
107107
return os;
108108
}
109109

110+
DDim flatten_to_3d(const DDim& src, int num_row_dims, int num_col_dims) {
111+
PADDLE_ENFORCE_GE(src.size(), 3,
112+
platform::errors::InvalidArgument(
113+
"The rank of src dim should be at least 3 "
114+
"in flatten_to_3d, but received %d.",
115+
src.size()));
116+
PADDLE_ENFORCE_EQ((num_row_dims >= 1 && num_row_dims < src.size()), true,
117+
platform::errors::InvalidArgument(
118+
"The num_row_dims should be inside [1, %d] "
119+
"in flatten_to_3d, but received %d.",
120+
src.size() - 1, num_row_dims));
121+
PADDLE_ENFORCE_EQ((num_col_dims >= 2 && num_col_dims <= src.size()), true,
122+
platform::errors::InvalidArgument(
123+
"The num_col_dims should be inside [2, %d] "
124+
"in flatten_to_3d, but received %d.",
125+
src.size(), num_col_dims));
126+
PADDLE_ENFORCE_GE(
127+
num_col_dims, num_row_dims,
128+
platform::errors::InvalidArgument(
129+
"The num_row_dims should be less than num_col_dims in flatten_to_3d,"
130+
"but received num_row_dims = %d, num_col_dims = %d.",
131+
num_row_dims, num_col_dims));
132+
133+
return DDim({product(slice_ddim(src, 0, num_row_dims)),
134+
product(slice_ddim(src, num_row_dims, num_col_dims)),
135+
product(slice_ddim(src, num_col_dims, src.size()))});
136+
}
137+
110138
DDim flatten_to_2d(const DDim& src, int num_col_dims) {
111139
return DDim({product(slice_ddim(src, 0, num_col_dims)),
112140
product(slice_ddim(src, num_col_dims, src.size()))});

paddle/fluid/framework/ddim.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,13 @@ int arity(const DDim& ddim);
230230

231231
std::ostream& operator<<(std::ostream&, const DDim&);
232232

233+
/**
234+
* \brief Flatten dim to 3d
235+
* e.g., DDim d = mak_ddim({1, 2, 3, 4, 5, 6})
236+
* flatten_to_3d(d, 2, 4); ===> {1*2, 3*4, 5*6} ===> {2, 12, 30}
237+
*/
238+
DDim flatten_to_3d(const DDim& src, int num_row_dims, int num_col_dims);
239+
233240
// Reshape a tensor to a matrix. The matrix's first dimension(column length)
234241
// will be the product of tensor's first `num_col_dims` dimensions.
235242
DDim flatten_to_2d(const DDim& src, int num_col_dims);

paddle/fluid/framework/details/reduce_op_handle.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#include "paddle/fluid/framework/details/variable_visitor.h"
2020
#include "paddle/fluid/platform/profiler.h"
2121

22-
DEFINE_bool(
22+
PADDLE_DEFINE_EXPORTED_bool(
2323
cpu_deterministic, false,
2424
"Whether to make the result of computation deterministic in CPU side.");
2525

paddle/fluid/framework/fleet/gloo_wrapper.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ class GlooWrapper {
215215
#else
216216
LOG(WARNING) << "AllGather does nothing when WITH_GLOO=OFF";
217217
#endif
218-
return std::move(ret);
218+
return ret;
219219
}
220220

221221
protected:

paddle/fluid/framework/ir/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ cc_library(graph SRCS graph.cc DEPS node pretty_log)
4343
cc_library(graph_helper SRCS graph_helper.cc DEPS graph)
4444
cc_library(pass SRCS pass.cc DEPS graph node graph_helper)
4545
cc_library(graph_traits SRCS graph_traits.cc DEPS graph)
46+
cc_library(cost_model SRCS cost_model.cc DEPS executor graph profiler proto_desc device_tracer)
4647

4748
SET(GRAPH_PATTERN_DETECTOR_DEPS graph graph_helper graph_traits)
4849
if (WITH_TESTING)
@@ -141,6 +142,7 @@ cc_test(pass_test SRCS pass_test.cc DEPS graph pass graph_helper)
141142
cc_test(graph_test SRCS graph_test.cc DEPS graph graph_helper op_registry)
142143
cc_test(graph_helper_test SRCS graph_helper_test.cc DEPS graph graph_helper op_registry)
143144
cc_test(graph_to_program_pass_test SRCS graph_to_program_pass_test.cc DEPS graph_to_program_pass)
145+
cc_test(cost_model_test SRCS cost_model_test.cc DEPS cost_model op_registry)
144146
cc_test(test_graph_pattern_detector SRCS graph_pattern_detector_tester.cc DEPS graph_pattern_detector)
145147
cc_test(test_op_compat_sensible_pass SRCS op_compat_sensible_pass_tester.cc DEPS op_compat_sensible_pass)
146148
cc_test(test_fc_fuse_pass_cc SRCS fc_fuse_pass_tester.cc DEPS fc_fuse_pass framework_proto)

0 commit comments

Comments
 (0)