blob: 667b0949277cf827eb21e5e32fd0a47be8201473 [file] [log] [blame]
Marat Dukhanc068bb62019-10-04 13:24:39 -07001// Copyright 2019 Google LLC
2//
3// This source code is licensed under the BSD-style license found in the
4// LICENSE file in the root directory of this source tree.
5
6#pragma once
7
8#include <xnnpack.h>
9
10#include <memory>
11#include <vector>
12
13namespace models {
14
15typedef std::vector<std::unique_ptr<xnn_operator, decltype(&xnn_delete_operator)>> ExecutionPlan;
Marat Dukhan5f18d262019-10-31 10:24:14 -070016typedef ExecutionPlan (*ExecutionPlanFactory)(pthreadpool_t threadpool);
Marat Dukhanc068bb62019-10-04 13:24:39 -070017
Marat Dukhan270a2c42020-06-26 16:45:52 -070018ExecutionPlan FP32MobileNetV1(pthreadpool_t threadpool);
19ExecutionPlan FP32MobileNetV2(pthreadpool_t threadpool);
20ExecutionPlan FP32MobileNetV3Large(pthreadpool_t threadpool);
21ExecutionPlan FP32MobileNetV3Small(pthreadpool_t threadpool);
22
Marat Dukhan4cea2322021-03-09 09:35:36 -080023ExecutionPlan FP32SparseMobileNetV1(float sparsity, pthreadpool_t threadpool);
24ExecutionPlan FP32SparseMobileNetV2(float sparsity, pthreadpool_t threadpool);
25ExecutionPlan FP32SparseMobileNetV3Large(float sparsity, pthreadpool_t threadpool);
26ExecutionPlan FP32SparseMobileNetV3Small(float sparsity, pthreadpool_t threadpool);
27
Marat Dukhan270a2c42020-06-26 16:45:52 -070028ExecutionPlan FP16MobileNetV1(pthreadpool_t threadpool);
29ExecutionPlan FP16MobileNetV2(pthreadpool_t threadpool);
30ExecutionPlan FP16MobileNetV3Large(pthreadpool_t threadpool);
31ExecutionPlan FP16MobileNetV3Small(pthreadpool_t threadpool);
Marat Dukhanc068bb62019-10-04 13:24:39 -070032
Marat Dukhane252f922021-08-31 08:57:41 -070033ExecutionPlan QC8MobileNetV1(pthreadpool_t threadpool);
34ExecutionPlan QC8MobileNetV2(pthreadpool_t threadpool);
35
Marat Dukhan0743cdf2020-08-04 18:52:07 -070036ExecutionPlan QS8MobileNetV1(pthreadpool_t threadpool);
Marat Dukhan70a96182020-09-03 17:13:58 -070037ExecutionPlan QS8MobileNetV2(pthreadpool_t threadpool);
Marat Dukhan0743cdf2020-08-04 18:52:07 -070038
Marat Dukhan12a23bb2021-03-08 08:13:21 -080039ExecutionPlan QU8MobileNetV1(pthreadpool_t threadpool);
Marat Dukhan036b2b12021-07-21 01:12:58 -070040ExecutionPlan QU8MobileNetV2(pthreadpool_t threadpool);
Marat Dukhan12a23bb2021-03-08 08:13:21 -080041
Marat Dukhanc068bb62019-10-04 13:24:39 -070042} // namespace models