-
Notifications
You must be signed in to change notification settings - Fork 6k
Expand file tree
/
Copy pathcheck_gpu_kernel_approval.sh
More file actions
43 lines (38 loc) · 2.27 KB
/
check_gpu_kernel_approval.sh
File metadata and controls
43 lines (38 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash
# Copyright (c) 2025 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.
pr_whl_path=${PADDLE_ROOT}/build/pr_whl/
dev_whl_path=${PADDLE_ROOT}/build/python/dist/
approval_line=$(curl -H "Authorization: token ${GITHUB_API_TOKEN}" https://api.github.com/repos/PaddlePaddle/Paddle/pulls/${GIT_PR_ID}/reviews?per_page=10000)
# Install dev wheel
echo "::group::Generate dev_phi_kernels.json and pr_phi_kernels.json"
pip install --force-reinstall "${dev_whl_path}"/*.whl
python -c 'import paddle;import json;print(json.dumps(paddle.base.core._get_all_register_op_kernels("phi"), indent=4))' > dev_phi_kernels.json
# Install pr wheel
pip install --force-reinstall "${pr_whl_path}"/*.whl
python -c 'import paddle;import json;print(json.dumps(paddle.base.core._get_all_register_op_kernels("phi"), indent=4))' > pr_phi_kernels.json
echo "::endgroup::"
echo -e "\e[33mBegin to compare GPU kernels between dev and pr...\e[0m"
if ! python "${PADDLE_ROOT}/tools/gpu_kernel_compare.py" dev_phi_kernels.json pr_phi_kernels.json; then
APPROVALS=$(echo "${approval_line}"|python "${PADDLE_ROOT}"/tools/check_pr_approval.py 1 wanghuancoder)
if [[ "${APPROVALS}" == "FALSE" ]]; then
echo -e "\e[31m**************************************************************\e[0m"
echo -e "\e[31mPlease ensure the added GPU kernel supports big tensors, defined as those with a number of elements (numel) greater than 2^31 - 1. In the PR description, please describe how you tested this scenario and validated the data accuracy.\e[0m"
echo -e "\e[31mYou must have one RD (wanghuancoder) approval.\e[0m"
echo -e "\e[31m**************************************************************\e[0m"
exit 6
fi
fi
echo -e "\e[33mComparison completed.\e[0m"
echo -e "\e[32mGPU kernel approval check passed.\e[0m"