Skip to content

Commit

Permalink
Merge branch 'develop' into PolynomialDecay
Browse files Browse the repository at this point in the history
  • Loading branch information
longranger2 authored Jun 29, 2023
2 parents 524c71a + 16ff63a commit ca18ace
Show file tree
Hide file tree
Showing 252 changed files with 8,167 additions and 3,509 deletions.
21 changes: 18 additions & 3 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ exclude =
# Exclude third-party libraries
./third_party/**,
./python/paddle/utils/gast/**,
# Temporarily ignore CINN files, it will fix later
./python/cinn/**,
./test/cinn/**,
ignore =
# Whitespace before ‘,’, ‘;’, or ‘:’, it is not compatible with black
E203,
Expand All @@ -30,3 +27,21 @@ ignore =
per-file-ignores =
# These files need tabs for testing.
test/dygraph_to_static/test_error.py:E101,W191
# Temporarily ignore CINN files, it will fix later
python/cinn/**:
E265,
test/cinn/**:
E126,
E231,
E251,
E265,
E266,
E401,
E711,
W291,
W504,
paddle/cinn/**:
E265,
tools/cinn/**:
E265,
E401,
5 changes: 5 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,11 @@ repos:
- --extensions=c,cc,cxx,cpp,cu,cuh,h,hpp,hxx,kps
- --filter=-readability/fn_size,-build/include_what_you_use,-build/c++11,-whitespace/parens
- --quiet
exclude: |
(?x)^(
paddle/cinn/.+|
test/cpp/cinn/.+
)$
# For CMake files
- repo: local
hooks:
Expand Down
17 changes: 11 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,6 @@ else()
)
endif()


find_package(Threads REQUIRED)

include(simd)
Expand Down Expand Up @@ -429,6 +428,14 @@ if(NOT WITH_XPU AND WITH_XPU_XFT)
CACHE STRING "Enable WITH_XPU when compiling with WITH_XPU_XFT" FORCE)
endif()

if(NOT WITH_XPU AND WITH_XPTI)
message(
WARNING "Disable XPTI when compiling without XPU. Force WITH_XPTI=OFF.")
set(WITH_XPTI
OFF
CACHE STRING "Disable XPTI when compiling without XPU" FORCE)
endif()

if(NOT WITH_XPU AND WITH_XPU_BKCL)
message(
WARNING "Disable BKCL when compiling without XPU. Force WITH_XPU_BKCL=OFF.")
Expand Down Expand Up @@ -575,15 +582,11 @@ include(flags) # set paddle compile flags

#------------- cinn cmake config start --------------

set(WITH_MKL_CBLAS ${WITH_MKL})
set(WITH_CUDA ${WITH_GPU})
set(WITH_CUDNN ${WITH_GPU})
if(WITH_CINN)
message(STATUS "Compile Paddle with CINN.")
include(cmake/cinn.cmake)
add_definitions(-DPADDLE_WITH_CINN)
# TODO(6clc): Use CINN_WITH_CUDNN to completely replace WITH_CUDNN in CINN.
# Use WITH_GPU to completely replace WITH_CUDA in CINN.
set(WITH_MKL_CBLAS ${WITH_MKL})
if(WITH_GPU)
set(WITH_CUDA ${WITH_GPU})
add_definitions(-DCINN_WITH_CUDA)
Expand All @@ -592,6 +595,8 @@ if(WITH_CINN)
add_definitions(-DCINN_WITH_CUDNN)
endif()
endif()
include(cmake/cinn.cmake)
add_definitions(-DPADDLE_WITH_CINN)

if(CINN_ONLY)
if(WITH_PYTHON)
Expand Down
55 changes: 36 additions & 19 deletions cmake/cinn.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,25 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(DOWNLOAD_MODEL_DIR "${CINN_THIRD_PARTY_PATH}/model")

string(REGEX MATCH "-std=(c\\+\\+[^ ]+)" STD_FLAG "${CMAKE_CXX_FLAGS}")
if (NOT STD_FLAG)
if (NOT CMAKE_CXX_STANDARD)
message(STATUS "STD_FLAG and CMAKE_CXX_STANDARD not found, using default flag: -std=c++17")
if(NOT STD_FLAG)
if(NOT CMAKE_CXX_STANDARD)
message(
STATUS
"STD_FLAG and CMAKE_CXX_STANDARD not found, using default flag: -std=c++17"
)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
set(CMAKE_CXX_STANDARD 17)
else()
message(STATUS "Got CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}, append -std=c++${CMAKE_CXX_STANDARD} to CMAKE_CXX_FLAGS")
message(
STATUS
"Got CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}, append -std=c++${CMAKE_CXX_STANDARD} to CMAKE_CXX_FLAGS"
)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++${CMAKE_CXX_STANDARD}")
endif()
else()
string(REGEX MATCH "([0-9]+)" STD_VALUE "${STD_FLAG}")
message(STATUS "Got STD_FLAG=${STD_FLAG}, set CMAKE_CXX_STANDARD=${STD_VALUE}")
message(
STATUS "Got STD_FLAG=${STD_FLAG}, set CMAKE_CXX_STANDARD=${STD_VALUE}")
set(CMAKE_CXX_STANDARD ${STD_VALUE})
endif()

Expand All @@ -34,7 +41,6 @@ if(WITH_DEBUG)
add_definitions(-DCINN_WITH_DEBUG)
endif()


# TODO(zhhsplendid): CINN has lots of warnings during early development.
# They will be treated as errors under paddle. We set no-error now and we will
# clean the code in the future.
Expand All @@ -43,13 +49,15 @@ add_definitions(-w)
include(cmake/cinn/version.cmake)
# include the customized configures
if(NOT EXISTS ${CMAKE_BINARY_DIR}/cmake/cinn/config.cmake)
file(COPY ${PROJECT_SOURCE_DIR}/cmake/cinn/config.cmake DESTINATION ${CMAKE_BINARY_DIR}/cmake/cinn)
file(COPY ${PROJECT_SOURCE_DIR}/cmake/cinn/config.cmake
DESTINATION ${CMAKE_BINARY_DIR}/cmake/cinn)
endif()
include(${CMAKE_BINARY_DIR}/cmake/cinn/config.cmake)

if(WITH_MKL)
generate_dummy_static_lib(LIB_NAME "cinn_mklml" GENERATOR "mklml.cmake")
target_link_libraries(cinn_mklml ${MKLML_LIB} ${MKLML_IOMP_LIB})
add_dependencies(cinn_mklml ${MKLML_PROJECT})
add_definitions(-DCINN_WITH_MKL_CBLAS)
endif()
if(WITH_MKLDNN)
Expand All @@ -59,8 +67,10 @@ endif()
if(WITH_GPU)
message(STATUS "Enable CINN CUDA")
add_definitions(-DCINN_WITH_CUDA)
message(STATUS "Enable CINN CUDNN")
add_definitions(-DCINN_WITH_CUDNN)
if(WITH_CUDNN)
message(STATUS "Enable CINN CUDNN")
add_definitions(-DCINN_WITH_CUDNN)
endif()
enable_language(CUDA)
find_package(CUDA REQUIRED)
include_directories(${CUDA_INCLUDE_DIRS})
Expand All @@ -81,10 +91,14 @@ if(WITH_GPU)

find_library(CUDASTUB libcuda.so HINTS ${CUDA_TOOLKIT_ROOT_DIR}/lib64/stubs/
REQUIRED)
find_library(CUBLAS libcublas.so HINTS ${CUDA_TOOLKIT_ROOT_DIR}/lib64 /usr/lib /usr/lib64 REQUIRED)
find_library(CUDNN libcudnn.so HINTS ${CUDA_TOOLKIT_ROOT_DIR}/lib64 /usr/lib /usr/lib64 REQUIRED)
find_library(CURAND libcurand.so HINTS ${CUDA_TOOLKIT_ROOT_DIR}/lib64 /usr/lib /usr/lib64 REQUIRED)
find_library(CUSOLVER libcusolver.so HINTS ${CUDA_TOOLKIT_ROOT_DIR}/lib64 /usr/lib /usr/lib64 REQUIRED)
find_library(CUBLAS libcublas.so HINTS ${CUDA_TOOLKIT_ROOT_DIR}/lib64
/usr/lib /usr/lib64 REQUIRED)
find_library(CUDNN libcudnn.so HINTS ${CUDA_TOOLKIT_ROOT_DIR}/lib64 /usr/lib
/usr/lib64 REQUIRED)
find_library(CURAND libcurand.so HINTS ${CUDA_TOOLKIT_ROOT_DIR}/lib64
/usr/lib /usr/lib64 REQUIRED)
find_library(CUSOLVER libcusolver.so HINTS ${CUDA_TOOLKIT_ROOT_DIR}/lib64
/usr/lib /usr/lib64 REQUIRED)
endif()

set(cinnapi_src CACHE INTERNAL "" FORCE)
Expand All @@ -108,7 +122,7 @@ include(cmake/cinn/external/openmp.cmake)
include(cmake/cinn/external/jitify.cmake)

if(CINN_ONLY)
LINK_LIBRARIES(gflags)
link_libraries(gflags)
endif()

set(LINK_FLAGS
Expand Down Expand Up @@ -269,15 +283,18 @@ if(PUBLISH_LIBS)
POST_BUILD
COMMAND cmake -E copy ${CMAKE_BINARY_DIR}/libcinnapi.so
${CMAKE_BINARY_DIR}/dist/cinn/lib/libcinnapi.so
COMMAND cmake -E copy_directory ${CINN_THIRD_PARTY_PATH}/install
COMMAND cmake -E copy_directory ${CINN_THIRD_PARTY_PATH}/install
${CMAKE_BINARY_DIR}/dist/third_party DEPENDS cinnapi)
add_custom_command(
TARGET cinncore_static
POST_BUILD
COMMAND cmake -E copy ${PROJECT_SOURCE_DIR}/tools/cinn/tutorials_demo/demo.cc
${CMAKE_BINARY_DIR}/dist/demo.cc
COMMAND cmake -E copy ${PROJECT_SOURCE_DIR}/tools/cinn/tutorials_demo/build_demo.sh
${CMAKE_BINARY_DIR}/dist/build_demo.sh
COMMAND
cmake -E copy ${PROJECT_SOURCE_DIR}/tools/cinn/tutorials_demo/demo.cc
${CMAKE_BINARY_DIR}/dist/demo.cc
COMMAND
cmake -E copy
${PROJECT_SOURCE_DIR}/tools/cinn/tutorials_demo/build_demo.sh
${CMAKE_BINARY_DIR}/dist/build_demo.sh
COMMAND cmake -E copy ${CMAKE_BINARY_DIR}/libcinncore_static.a
${CMAKE_BINARY_DIR}/dist/cinn/lib/libcinncore_static.a
COMMAND
Expand Down
3 changes: 3 additions & 0 deletions cmake/cinn/external/absl.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@ set(ABSL_LIB_NAMES
bad_optional_access
bad_variant_access
raw_hash_set)
if(CINN_ONLY)
list(APPEND ABSL_LIB_NAMES strings_internal raw_logging_internal)
endif()
set(ABSL_LIBS "")

add_library(absl STATIC IMPORTED GLOBAL)
Expand Down
12 changes: 9 additions & 3 deletions cmake/cupti.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,15 @@ if(NOT WITH_GPU AND NOT WITH_ROCM)
return()
endif()

set(CUPTI_ROOT
"/usr"
CACHE PATH "CUPTI ROOT")
if(WITH_ROCM)
set(CUPTI_ROOT
"${ROCM_PATH}/CUPTI"
CACHE PATH "CUPTI ROOT")
else()
set(CUPTI_ROOT
"/usr"
CACHE PATH "CUPTI ROOT")
endif()
find_path(
CUPTI_INCLUDE_DIR cupti.h
PATHS ${CUPTI_ROOT}
Expand Down
47 changes: 0 additions & 47 deletions cmake/external/concurrentqueue.cmake

This file was deleted.

7 changes: 1 addition & 6 deletions cmake/external/gtest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,9 @@ else()
"${GTEST_INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/libgmock.a"
CACHE FILEPATH "gmock libraries." FORCE)
set(GTEST_CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
if(CINN_ONLY)
set(GTEST_CMAKE_CXX_FLAGS "-std=c++17 ${CMAKE_CXX_FLAGS}")
else()
set(GTEST_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()
set(GTEST_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()


if(WITH_MKLML)
# wait for mklml downloading completed
set(GTEST_DEPENDS ${MKLML_PROJECT})
Expand Down
4 changes: 2 additions & 2 deletions cmake/external/xpu.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ set(XPU_XFT_LIB_NAME "libxft.so")
set(XPU_XPTI_LIB_NAME "libxpti.so")

if(NOT DEFINED XPU_BASE_DATE)
set(XPU_BASE_DATE "20230602")
set(XPU_BASE_DATE "20230620")
endif()
set(XPU_XCCL_BASE_VERSION "1.0.49.2")
if(NOT DEFINED XPU_XFT_BASE_VERSION)
Expand Down Expand Up @@ -137,7 +137,7 @@ ExternalProject_Add(
pack_paddle_depence.sh ${XPU_XRE_URL} ${XPU_XRE_DIR_NAME} ${XPU_XDNN_URL}
${XPU_XDNN_DIR_NAME} ${XPU_XCCL_URL} ${XPU_XCCL_DIR_NAME} && wget
${XPU_XFT_GET_DEPENCE_URL} && bash get_xft_dependence.sh ${XPU_XFT_URL}
${XPU_XFT_DIR_NAME} [ -n "$WITH_XPTI" ] && bash
${XPU_XFT_DIR_NAME} && bash
${CMAKE_SOURCE_DIR}/tools/xpu/get_xpti_dependence.sh ${XPU_XPTI_URL}
${XPU_XPTI_DIR_NAME}
DOWNLOAD_NO_PROGRESS 1
Expand Down
6 changes: 5 additions & 1 deletion cmake/hip.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,11 @@ list(APPEND HIP_CXX_FLAGS -Wno-duplicate-decl-specifier)
list(APPEND HIP_CXX_FLAGS -Wno-implicit-int-float-conversion)
list(APPEND HIP_CXX_FLAGS -Wno-pass-failed)
list(APPEND HIP_CXX_FLAGS -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_HIP)
list(APPEND HIP_CXX_FLAGS -std=c++14)
if(WITH_CINN)
list(APPEND HIP_CXX_FLAGS -std=c++14)
else()
list(APPEND HIP_CXX_FLAGS -std=c++17)
endif()

if(CMAKE_BUILD_TYPE MATCHES Debug)
list(APPEND HIP_CXX_FLAGS -g2)
Expand Down
2 changes: 1 addition & 1 deletion cmake/third_party.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,7 @@ endif()

# cinn_only includes third-party libraries separately
if(CINN_ONLY)
set(CMAKE_CXX_FLAGS "-std=c++17 ${CMAKE_CXX_FLAGS}")
include(external/zlib)
include(external/gflags)
include(external/glog)
Expand All @@ -289,7 +290,6 @@ if(WITH_CINN)
endif()
endif()


include(external/zlib) # download, build, install zlib
include(external/gflags) # download, build, install gflags
include(external/glog) # download, build, install glog
Expand Down
4 changes: 1 addition & 3 deletions paddle/cinn/backends/llvm/codegen_llvm.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1086,9 +1086,7 @@ llvm::Value *CodeGenLLVM::Visit(const ir::Sum *op) {

#undef __IR_EMITTER_CINN_NOT_IMPLEMENTED

void CodeGenLLVM::Compile(const ir::Module &module) {
Visit(module.self());
}
void CodeGenLLVM::Compile(const ir::Module &module) { Visit(module.self()); }

llvm::Value *CodeGenLLVM::EmitCall_buffer_malloc(const ir::Call *op) { return nullptr; }

Expand Down
7 changes: 0 additions & 7 deletions paddle/cinn/backends/llvm/simple_jit.cc
Original file line number Diff line number Diff line change
Expand Up @@ -111,25 +111,18 @@ SimpleJIT::SimpleJIT() : context_(std::make_unique<llvm::LLVMContext>()) {

template <typename CodeGenT>
void SimpleJIT::Link(ir::Module module, bool optimize) {
VLOG(-1) << "dddddd";
std::string runtime_ir(backends::kRuntimeLlvmIr);
llvm::SMDiagnostic error;
auto m = llvm::parseAssemblyString(runtime_ir, error, context());
m->setDataLayout(jit_->getDataLayout());
auto b = std::make_unique<llvm::IRBuilder<>>(context());

auto ir_emitter = std::make_unique<CodeGenT>(m.get(), b.get());
VLOG(-1) << "dddddd";
ir_emitter->Compile(module);
VLOG(-1) << "dddddd";

VLOG(-1) << "dddddd";
CHECK(!llvm::verifyModule(*m, &llvm::errs())) << "Invalid module found";
VLOG(-1) << "dddddd";

VLOG(-1) << "dddddd";
AddModule(std::move(m), optimize);
VLOG(-1) << "dddddd";
}

template void SimpleJIT::Link<CodeGenLLVM>(ir::Module module, bool optimize);
Expand Down
Loading

0 comments on commit ca18ace

Please sign in to comment.