[Hackthon_4th 244] Added Paddle Lite GPU Backend (#1907)

* [improved] enum; ConfigureGpu();

* [improved] init()

* [improved] valid place; model dir; is valid;

* [added] WITH_OPENCL in cmake

* [improved] set model; valid place; cmake url; cmake option;

* Update runtime_option.cc

---------

Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com>
This commit is contained in:
unseenme
2023-05-12 20:44:27 +09:00
committed by GitHub
parent 15c29f7e49
commit 3fd21c935e
10 changed files with 70 additions and 10 deletions

View File

@@ -40,6 +40,8 @@ void LiteBackend::BuildOption(const LiteBackendOption& option) {
if (option_.device == Device::CPU) {
ConfigureCpu(option_);
} else if (option_.device == Device::GPU) {
ConfigureGpu(option_);
} else if (option_.device == Device::TIMVX) {
ConfigureTimvx(option_);
} else if (option_.device == Device::KUNLUNXIN) {
@@ -70,15 +72,21 @@ bool LiteBackend::Init(const RuntimeOption& runtime_option) {
return false;
}
if (runtime_option.device != Device::CPU &&
runtime_option.device != Device::GPU &&
runtime_option.device != Device::KUNLUNXIN &&
runtime_option.device != Device::ASCEND &&
runtime_option.device != Device::TIMVX) {
FDERROR << "PaddleLiteBackend only supports "
"Device::CPU/Device::TIMVX/Device::KUNLUNXIN/Device::ASCEND, "
"Device::CPU/Device::GPU/Device::TIMVX/Device::KUNLUNXIN/Device::ASCEND, "
"but now it's "
<< runtime_option.device << "." << std::endl;
return false;
}
if (runtime_option.device == Device::GPU &&
!paddle::lite_api::IsOpenCLBackendValid()) {
FDERROR << "PaddleLiteBackend GPU (OpenCL) is not supported by the current device."
<< std::endl;
}
if (runtime_option.model_from_memory_) {
FDERROR << "PaddleLiteBackend doesn't support load model from memory, "
"please load model from disk."