Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
aadeff53
P
Paddle
项目概览
机器未来
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
aadeff53
编写于
4月 07, 2022
作者:
H
huzhiqiang
提交者:
GitHub
4月 07, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[infrt]Add gpu compile method (#41463)
上级
e4459a40
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
44 addition
and
19 deletion
+44
-19
paddle/infrt/CMakeLists.txt
paddle/infrt/CMakeLists.txt
+4
-0
paddle/scripts/infrt_build.sh
paddle/scripts/infrt_build.sh
+40
-19
未找到文件。
paddle/infrt/CMakeLists.txt
浏览文件 @
aadeff53
...
@@ -9,6 +9,10 @@ option(INFRT_WITH_TRT "Compile INFRT with TensorRT" OFF)
...
@@ -9,6 +9,10 @@ option(INFRT_WITH_TRT "Compile INFRT with TensorRT" OFF)
#TODO(xiaowei) remove fluid
#TODO(xiaowei) remove fluid
include_directories
(
${
PADDLE_SOURCE_DIR
}
/paddle/fluid/platform
)
include_directories
(
${
PADDLE_SOURCE_DIR
}
/paddle/fluid/platform
)
if
(
WITH_GPU
)
set
(
INFRT_WITH_GPU ON
)
endif
()
if
(
INFRT_WITH_PHI
)
if
(
INFRT_WITH_PHI
)
add_definitions
(
"-DINFRT_WITH_PHI"
)
add_definitions
(
"-DINFRT_WITH_PHI"
)
...
...
paddle/scripts/infrt_build.sh
浏览文件 @
aadeff53
...
@@ -20,6 +20,9 @@
...
@@ -20,6 +20,9 @@
set
-e
set
-e
# TARGET: CPU/GPU/TensorRt
TARGET
=
GPU
if
[
-z
${
BRANCH
}
]
;
then
if
[
-z
${
BRANCH
}
]
;
then
BRANCH
=
"develop"
BRANCH
=
"develop"
fi
fi
...
@@ -32,7 +35,13 @@ function update_pd_ops() {
...
@@ -32,7 +35,13 @@ function update_pd_ops() {
# compile and install paddle
# compile and install paddle
rm
-rf
${
PADDLE_ROOT
}
/build
&&
mkdir
-p
${
PADDLE_ROOT
}
/build
rm
-rf
${
PADDLE_ROOT
}
/build
&&
mkdir
-p
${
PADDLE_ROOT
}
/build
cd
${
PADDLE_ROOT
}
/build
cd
${
PADDLE_ROOT
}
/build
cmake ..
-DWITH_PYTHON
=
ON
-DWITH_MKL
=
OFF
-DWITH_GPU
=
OFF
-DPYTHON_EXECUTABLE
=
`
which python3
`
-DWITH_XBYAK
=
OFF
-DWITH_NCCL
=
OFF
-DWITH_RCCL
=
OFF
-DWITH_CRYPTO
=
OFF
INFER_WITH_GPU
=
OFF
if
[
"
${
TARGET
}
"
==
"GPU"
]
||
[
"
${
TARGET
}
"
==
"gpu"
]
||
[
"
${
TARGET
}
"
==
"TensorRt"
]
||
[
"
${
TARGET
}
"
==
"tensorrt"
]
;
then
INFER_WITH_GPU
=
ON
fi
cmake ..
-DWITH_PYTHON
=
ON
-DWITH_MKL
=
OFF
-DWITH_GPU
=
$INFER_WITH_GPU
-DPYTHON_EXECUTABLE
=
`
which python3
`
-DWITH_XBYAK
=
OFF
-DWITH_NCCL
=
OFF
-DWITH_RCCL
=
OFF
-DWITH_CRYPTO
=
OFF
make
-j24
paddle_python print_pten_kernels kernel_signature_generator
make
-j24
paddle_python print_pten_kernels kernel_signature_generator
cd
${
PADDLE_ROOT
}
/build
cd
${
PADDLE_ROOT
}
/build
./paddle/phi/tools/print_pten_kernels
>
../tools/infrt/kernels.json
./paddle/phi/tools/print_pten_kernels
>
../tools/infrt/kernels.json
...
@@ -94,7 +103,13 @@ function infrt_gen_and_build() {
...
@@ -94,7 +103,13 @@ function infrt_gen_and_build() {
# step2. compile infrt
# step2. compile infrt
cd
${
PADDLE_ROOT
}
/build
cd
${
PADDLE_ROOT
}
/build
rm
-f
infrt_summary.txt
rm
-f
infrt_summary.txt
cmake ..
-DWITH_MKL
=
OFF
-DWITH_GPU
=
ON
-DWITH_TENSORRT
=
ON
-DWITH_CRYPTO
=
OFF
-DCMAKE_BUILD_TYPE
=
Release
-DWITH_INFRT
=
ON
-DINFRT_WITH_GPU
=
ON
-DINFRT_WITH_TRT
=
ON
-DWITH_PYTHON
=
OFF
-DWITH_TESTING
==
${
WITH_TESTING
:-
ON
}
;
build_error
=
$?
INFER_WITH_GPU
=
OFF
if
[
"
${
TARGET
}
"
==
"GPU"
]
||
[
"
${
TARGET
}
"
==
"gpu"
]
||
[
"
${
TARGET
}
"
==
"TensorRt"
]
;
then
INFER_WITH_GPU
=
ON
fi
cmake ..
-DWITH_MKL
=
OFF
-DWITH_GPU
=
${
INFER_WITH_GPU
}
-DWITH_TENSORRT
=
ON
-DWITH_CRYPTO
=
OFF
-DCMAKE_BUILD_TYPE
=
Release
-DWITH_INFRT
=
ON
-DINFRT_WITH_GPU
=
ON
-DINFRT_WITH_TRT
=
ON
-DWITH_PYTHON
=
OFF
-DWITH_TESTING
==
${
WITH_TESTING
:-
ON
}
;
build_error
=
$?
if
[
"
$build_error
"
!=
0
]
;
then
if
[
"
$build_error
"
!=
0
]
;
then
exit
7
;
exit
7
;
fi
fi
...
@@ -157,28 +172,34 @@ function main() {
...
@@ -157,28 +172,34 @@ function main() {
echo
" (2)bash infrt_build.sh build_only"
echo
" (2)bash infrt_build.sh build_only"
echo
" (3)bash infrt_build.sh test_only"
echo
" (3)bash infrt_build.sh test_only"
echo
" optional command: --update_pd_ops : pd_ops.td will be updated according to paddle's code."
echo
" optional command: --update_pd_ops : pd_ops.td will be updated according to paddle's code."
echo
" --target= : GPU/gpu/CPU/cpu/TensorRt/tensorrt, default value is GPU."
exit
0
exit
0
fi
fi
init
init
case
$CMD
in
for
i
in
"
$@
"
;
do
build_and_test
)
case
$i
in
infrt_gen_and_build
${
parallel_number
}
--target
=
*
)
test_infrt
TARGET
=
"
${
i
#*=
}
"
;;
shift
build_only
)
;;
infrt_gen_and_build
${
parallel_number
}
build_and_test
)
;;
infrt_gen_and_build
${
parallel_number
}
test_only
)
test_infrt
test_infrt
;;
;;
build_only
)
*
)
infrt_gen_and_build
${
parallel_number
}
print_usage
;;
exit
1
test_only
)
;;
test_infrt
esac
;;
*
)
print_usage
exit
1
;;
esac
done
set
+x
set
+x
if
[[
-f
${
PADDLE_ROOT
}
/build/infrt_summary.txt
]]
;
then
if
[[
-f
${
PADDLE_ROOT
}
/build/infrt_summary.txt
]]
;
then
echo
"=====================build summary======================"
echo
"=====================build summary======================"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录