Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix project build metal shader bugs; test=develop #10544

Merged
merged 2 commits into from
Aug 1, 2024
Merged

Fix project build metal shader bugs; test=develop #10544

merged 2 commits into from
Aug 1, 2024

Conversation

shadedbluebird
Copy link
Collaborator

@shadedbluebird shadedbluebird commented Jul 26, 2024

PR devices

Metal

PR types

Bug fixes

PR changes

Kernels

Description

Fix project build, predict model and metal shader bugs

Copy link

paddle-bot bot commented Jul 26, 2024

Thanks for your contribution!

lite/api/light_api.cc Outdated Show resolved Hide resolved
-DLITE_ON_TINY_PUBLISH=ON \
-DLITE_WITH_OPENMP=OFF \
-DWITH_ARM_DOTPROD=OFF \
-DLITE_WITH_X86=OFF \
-DLITE_WITH_LOG=$WITH_LOG \
-DLITE_WITH_EXCEPTION=$WITH_EXCEPTION \
-DLITE_WITH_PRECISION_PROFILE=$WITH_EXCEPTION \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

建议使用 build_ios.sh 构建,后面这个脚本可能会废弃掉。

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

build_xcode.sh 这个脚本建议不能废弃。build_xcode.sh 构建完的结果并不是编译产物,而是通过cmake generate功能,按照cmakelists里的工程组织逻辑,生成 Xcode 的 project 工程。

生成 Xcode project 工程后,就可以通过 Xcode 来进行 PaddleLite 开发和调试,有几个重磅功能:

  1. 可以在 Xcode 里和其他 demo App 构建 workspace 进行联编,轻松实现断点跟踪调试,或借用 Xcode 的其他能力进行代码问题分析,对开发者来说非常优化,大幅度减少编译、调试的成本
  2. 可以进行 metal 抓帧,针对 metal device、commond buffer、common queue 进行调试,通过图形化方式直观展现出在一次预测过程中,执行了哪些 metal shader 或者 mps kernel,每个 shader 中 input、output 或者其他 param 的值是什么,shader中buffer、texture在指定的 thread id 下,取值是什么,甚至能直接调试 shader,这是其他所有工具都无法替代的

@shadedbluebird shadedbluebird changed the title Fix project build, predict model and metal shader bugs; test=develop Fix project build metal shader bugs; test=develop Jul 26, 2024
Copy link
Collaborator

@hong19860320 hong19860320 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Collaborator

@hong19860320 hong19860320 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@hong19860320 hong19860320 merged commit 48aa9ac into PaddlePaddle:develop Aug 1, 2024
15 of 45 checks passed
hong19860320 pushed a commit that referenced this pull request Aug 26, 2024
* [Doc] fix doc/index.rst (#10530)

Co-authored-by: chenhuan09 <chenhuan09@baidu.com>

* [PASS] xpu__fc_fuse_pass batchnorm fusion (#10532)

* [XPU] modify xpu_fc_pass to fused bn to xpu_fc

* [XPU] add int8 support for bn fc fusion

* [XPU] fix codestyle

* [XPU] remove unused code

* [OpenCL] Fix multi-thread CL_INVALID_CONTEXT (#10529)

* [Metal] Fix project build metal shader bugs (#10544)

* [Metal] Fix concat error, fix fetch typo error (#10541)
* [Metal] fix build_xcode.sh error, add building with metal option (#10542)

* [XPU] Add greedy L3 tune strategy (#10546)

* support search gan model. 1.add pixel_unshuffle support &2.enable fill_constant calc offline on arm and opencl & 3.enable reshape_calc_offline_pass on arm and opencl  (#10537)

* support search gan model.
1. add pixel_unshuffle support
2. enable fill_constant calc offline on arm and opencl
3. enable reshape_calc_offline_pass on arm and opencl
4. use chinese comments
5. add test for new kernel.
test=develop

* support search gan model.
1. add pixel_unshuffle support
2. enable fill_constant calc offline on arm and opencl
3. enable reshape_calc_offline_pass on arm and opencl
4. use chinese comments
5. add test for new kernel.
test=develop

* support search gan model.
1. add pixel_unshuffle support
2. enable fill_constant calc offline on arm and opencl
3. enable reshape_calc_offline_pass on arm and opencl
4. use chinese comments
5. add test for new kernel.
6. fix metal pre-commit
test=develop

* [Doc] Update python_demo.md (#10555)

* [OpenCL] fix opencl init bugs & optimize :do not create opencl when user do not use Use opencl. auto enable opencl when opencl model load and opencl check or config. (#10557)

* [OpenCL]do not init OpenCL runtime if use a arm only model, when LITE_WITH_OPENCL ENABLED

test=develop

* [OpenCL] fix opencl init bugs. reduce opencl memory when not use opencl models
1. add one way to allow use to close opencl, to reduce memory.
2. create opencl runtime and context when use , avoid of static loading.
3. if use an arm model , do not create opencl runtime / context.
4. when find opencl target kernel , create opencl.
test=develop

* [OpenCL] fix opencl init bugs. do not create opencl when user do not use Use opencl. auto enable opencl when opencl model load and opencl check or config.

1. create opencl runtime and context when use , avoid of static loading.
2. if use an arm model , do not create opencl runtime / context.
3. when find opencl target kernel , create opencl.
4. when opencl env check found, enable opencl
test=develop

* [OpenCL] fix opencl init bugs. do not create opencl when user do not use Use opencl. auto enable opencl when opencl model load and opencl check or config.
5. default make option on, to let user feel nothing. add api for Professional users
test=develop

* [OpenCL] fix opencl init bugs. do not create opencl when user do not use Use opencl. auto enable opencl when opencl model load and opencl check or config.
5. only reset flag once
test=develop

* [OpenCL] fix opencl init bugs. do not create opencl when user do not use Use opencl. auto enable opencl when opencl model load and opencl check or config.
6.fix pr review
test=develop

* [OpenCL] fix opencl init bugs. do not create opencl when user do not use Use opencl. auto enable opencl when opencl model load and opencl check or config.
6.fix pr review
test=develop

* [OpenCL] fix opencl init bugs. do not create opencl when user do not use Use opencl. auto enable opencl when opencl model load and opencl check or config.
6.fix pr review
test=develop

* [OpenCL] fix opencl init bugs. do not create opencl when user do not use Use opencl. auto enable opencl when opencl model load and opencl check or config.
6.fix pr review
test=develop

* [OpenCL] fix opencl init bugs. do not create opencl when user do not use Use opencl. auto enable opencl when opencl model load and opencl check or config.
6.fix pr review
test=develop

* [OpenCL] fix opencl init bugs. do not create opencl when user do not use Use opencl. auto enable opencl when opencl model load and opencl check or config.
6.fix pr review
test=develop

* [OpenCL] fix opencl init bugs. do not create opencl when user do not use Use opencl. auto enable opencl when opencl model load and opencl check or config.
6.fix pr review
test=develop

* [OpenCL] fix opencl init bugs. do not create opencl when user do not use Use opencl. auto enable opencl when opencl model load and opencl check or config.
6.fix pr review
test=develop

---------

Co-authored-by: cmcamdy <1027740945@qq.com>
Co-authored-by: chenhuan09 <chenhuan09@baidu.com>
Co-authored-by: GaoYuYang <gaomeyy@gmail.com>
Co-authored-by: wasupandceacar <wasupandceacar@gmail.com>
Co-authored-by: newway <237745+newway@users.noreply.github.com>
Co-authored-by: xiebaiyuan <xiebaiyuan@139.com>
Co-authored-by: Kayzwer <68285002+Kayzwer@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants