Skip to content

Commit addfbe4

Browse files
committed
Fix
2 parents edc4c0f + b6a1bd3 commit addfbe4

File tree

825 files changed

+18061
-18607
lines changed

Some content is hidden

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

825 files changed

+18061
-18607
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ CMakeSettings.json
5656
Makefile
5757
.test_env/
5858
.cache/
59+
.env
5960
third_party/
6061
*~
6162
bazel-*

cmake/cuda.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,11 @@ function(select_nvcc_arch_flags out_variable out_arch_bin)
244244
string(REPLACE ";" " " nvcc_archs_readable "${nvcc_archs_readable}")
245245
string(REGEX MATCHALL "[0-9()]+" nvcc_archs_bin_list "${nvcc_archs_bin_list}")
246246
string(JOIN "," nvcc_real_archs ${nvcc_archs_bin_list})
247+
248+
set(COMPILED_CUDA_ARCHS
249+
"${nvcc_real_archs}"
250+
CACHE STRING "Specify compiled cuda archs.")
251+
247252
set(${out_variable}
248253
${nvcc_flags}
249254
PARENT_SCOPE)

cmake/external/xpu.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ if(NOT DEFINED XPU_XRE_BASE_VERSION)
3030
set(XPU_XRE_BASE_VERSION "4.32.0.1")
3131
endif()
3232
if(NOT DEFINED XPU_XHPC_BASE_DATE)
33-
set(XPU_XHPC_BASE_DATE "eb35/20240904")
33+
set(XPU_XHPC_BASE_DATE "eb35/20240906")
3434
endif()
35-
set(XPU_XCCL_BASE_VERSION "1.2.11b")
35+
set(XPU_XCCL_BASE_VERSION "1.2.11c")
3636
if(NOT DEFINED XPU_XFT_BASE_VERSION)
3737
set(XPU_XFT_BASE_VERSION "20230602")
3838
endif()

cmake/generic.cmake

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -463,21 +463,35 @@ function(cc_test_run TARGET_NAME)
463463
set(multiValueArgs COMMAND ARGS)
464464
cmake_parse_arguments(cc_test "${options}" "${oneValueArgs}"
465465
"${multiValueArgs}" ${ARGN})
466+
string(REGEX MATCH "_deprecated$" DEPRECATED_TARGET_NAME "${TARGET_NAME}")
467+
466468
if(cc_test_DIR STREQUAL "")
467469
set(cc_test_DIR ${CMAKE_CURRENT_BINARY_DIR})
468470
endif()
469471
add_test(
470472
NAME ${TARGET_NAME}
471473
COMMAND ${cc_test_COMMAND} ${cc_test_ARGS}
472474
WORKING_DIRECTORY ${cc_test_DIR})
473-
set_property(
474-
TEST ${TARGET_NAME}
475-
PROPERTY
476-
ENVIRONMENT
477-
FLAGS_init_allocated_mem=true
478-
FLAGS_cudnn_deterministic=true
479-
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${PADDLE_BINARY_DIR}/python/paddle/libs:${PADDLE_BINARY_DIR}/python/paddle/base
480-
)
475+
if(NOT "${DEPRECATED_TARGET_NAME}" STREQUAL "")
476+
set_property(
477+
TEST ${TARGET_NAME}
478+
PROPERTY
479+
ENVIRONMENT
480+
FLAGS_init_allocated_mem=true
481+
FLAGS_cudnn_deterministic=true
482+
FLAGS_enable_pir_api=0
483+
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${PADDLE_BINARY_DIR}/python/paddle/libs:${PADDLE_BINARY_DIR}/python/paddle/base
484+
)
485+
else()
486+
set_property(
487+
TEST ${TARGET_NAME}
488+
PROPERTY
489+
ENVIRONMENT
490+
FLAGS_init_allocated_mem=true
491+
FLAGS_cudnn_deterministic=true
492+
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${PADDLE_BINARY_DIR}/python/paddle/libs:${PADDLE_BINARY_DIR}/python/paddle/base
493+
)
494+
endif()
481495
# No unit test should exceed 2 minutes.
482496
if(WIN32)
483497
set_tests_properties(${TARGET_NAME} PROPERTIES TIMEOUT 150)

cmake/hip.cmake

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ endmacro()
7575

7676
find_package_and_include(miopen)
7777
find_package_and_include(rocblas)
78+
find_package_and_include(hipblaslt)
7879
find_package_and_include(hiprand)
7980
find_package_and_include(rocrand)
8081
find_package_and_include(rccl)
@@ -91,9 +92,10 @@ endif()
9192

9293
# set CXX flags for HIP
9394
set(CMAKE_C_FLAGS
94-
"${CMAKE_C_FLAGS} -D__HIP_PLATFORM_HCC__ -DROCM_NO_WRAPPER_HEADER_WARNING")
95+
"${CMAKE_C_FLAGS} -D__HIP_PLATFORM_HCC__ -D__HIP_PLATFORM_AMD__ -DROCM_NO_WRAPPER_HEADER_WARNING"
96+
)
9597
set(CMAKE_CXX_FLAGS
96-
"${CMAKE_CXX_FLAGS} -D__HIP_PLATFORM_HCC__ -DROCM_NO_WRAPPER_HEADER_WARNING"
98+
"${CMAKE_CXX_FLAGS} -D__HIP_PLATFORM_HCC__ -D__HIP_PLATFORM_AMD__ -DROCM_NO_WRAPPER_HEADER_WARNING"
9799
)
98100
set(CMAKE_CXX_FLAGS
99101
"${CMAKE_CXX_FLAGS} -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_HIP")
@@ -102,6 +104,7 @@ set(THRUST_DEVICE_SYSTEM THRUST_DEVICE_SYSTEM_HIP)
102104
# define HIP_CXX_FLAGS
103105
list(APPEND HIP_CXX_FLAGS -fPIC)
104106
list(APPEND HIP_CXX_FLAGS -D__HIP_PLATFORM_HCC__=1)
107+
list(APPEND HIP_CXX_FLAGS -D__HIP_PLATFORM_AMD__=1)
105108
# Note(qili93): HIP has compile conflicts of float16.h as platform::float16 overload std::is_floating_point and std::is_integer
106109
list(APPEND HIP_CXX_FLAGS -D__HIP_NO_HALF_CONVERSIONS__=1)
107110
list(APPEND HIP_CXX_FLAGS -DROCM_NO_WRAPPER_HEADER_WARNING)

cmake/inference_lib.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,11 @@ copy(
399399
SRCS ${PADDLE_SOURCE_DIR}/paddle/pir/include/dialect/shape/utils/*.h
400400
DSTS ${PADDLE_INFERENCE_INSTALL_DIR}/paddle/include/paddle/pir/dialect/shape/utils/
401401
)
402+
copy(
403+
inference_lib_dist
404+
SRCS ${PADDLE_SOURCE_DIR}/paddle/pir/include/dialect/shape/interface/infer_symbolic_shape/*.h
405+
DSTS ${PADDLE_INFERENCE_INSTALL_DIR}/paddle/include/paddle/pir/dialect/shape/interface/infer_symbolic_shape/
406+
)
402407
copy(
403408
inference_lib_dist
404409
SRCS ${PADDLE_SOURCE_DIR}/paddle/pir/include/pass/*.h

paddle/cinn/common/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ gather_srcs(
2424
nvgpu_dev_info.cc
2525
integer_set.cc
2626
dim_expr_converter.cc
27-
broadcast_tree.cc)
27+
broadcast_tree.cc
28+
iter_simplify.cc)
2829

2930
cinn_cc_test(test_equation_graph_topo_walker SRCS
3031
equation_graph_topo_walker_test.cc DEPS gtest glog)

paddle/cinn/common/cas.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1275,7 +1275,7 @@ Expr CasSimplifyMutator::SimplifyMod(Expr u) {
12751275
if (a_mod && b_i) {
12761276
VLOG(6) << "Simplify sequential mod";
12771277
auto* a_b_i = a_mod->b().As<IntImm>();
1278-
if (a_b_i->value != 0 && a_b_i->value % b_i->value == 0) {
1278+
if (a_b_i && a_b_i->value != 0 && a_b_i->value % b_i->value == 0) {
12791279
auto e = SimplifyMod(Mod::Make(a_mod->a(), b_i));
12801280
VLOG(6) << "Reduce Mod from " << u << " to " << e;
12811281
return e;

paddle/cinn/common/const_fold.h

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
// Copyright (c) 2024 CINN 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+
#pragma once
16+
#include <optional>
17+
#include <vector>
18+
#include "paddle/cinn/ir/ir.h"
19+
#include "paddle/cinn/ir/ir_base.h"
20+
21+
namespace cinn {
22+
namespace common {
23+
24+
template <typename Op>
25+
inline std::optional<ir::Expr> TryConstFold(ir::Expr a, ir::Expr b);
26+
27+
template <>
28+
inline std::optional<ir::Expr> TryConstFold<ir::Add>(ir::Expr a, ir::Expr b) {
29+
const ir::IntImm* pa = a.As<ir::IntImm>();
30+
const ir::IntImm* pb = b.As<ir::IntImm>();
31+
const auto& rtype = a.type();
32+
if (pa && pb) {
33+
int64_t res = pa->value + pb->value;
34+
return cinn::common::make_shared<ir::IntImm>(rtype, res);
35+
}
36+
if (pa && pa->value == 0) return b;
37+
if (pb && pb->value == 0) return a;
38+
return std::nullopt;
39+
}
40+
41+
template <>
42+
inline std::optional<ir::Expr> TryConstFold<ir::Sub>(ir::Expr a, ir::Expr b) {
43+
const ir::IntImm* pa = a.As<ir::IntImm>();
44+
const ir::IntImm* pb = b.As<ir::IntImm>();
45+
const auto& rtype = a.type();
46+
if (pa && pb) {
47+
int64_t res = pa->value - pb->value;
48+
return cinn::common::make_shared<ir::IntImm>(rtype, res);
49+
}
50+
if (pb && pb->value == 0) return a;
51+
return std::nullopt;
52+
}
53+
54+
template <>
55+
inline std::optional<ir::Expr> TryConstFold<ir::Mul>(ir::Expr a, ir::Expr b) {
56+
const ir::IntImm* pa = a.As<ir::IntImm>();
57+
const ir::IntImm* pb = b.As<ir::IntImm>();
58+
const auto& rtype = a.type();
59+
if (pa && pb) {
60+
int64_t res = pa->value * pb->value;
61+
return cinn::common::make_shared<ir::IntImm>(rtype, res);
62+
}
63+
if (pa) {
64+
if (pa->value == 1) return b;
65+
if (pa->value == 0) return a;
66+
}
67+
if (pb) {
68+
if (pb->value == 1) return a;
69+
if (pb->value == 0) return b;
70+
}
71+
return std::nullopt;
72+
}
73+
74+
} // namespace common
75+
} // namespace cinn

0 commit comments

Comments
 (0)