xref: /aosp_15_r20/external/XNNPACK/models/models.h (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
1*4bdc9457SAndroid Build Coastguard Worker // Copyright 2019 Google LLC
2*4bdc9457SAndroid Build Coastguard Worker //
3*4bdc9457SAndroid Build Coastguard Worker // This source code is licensed under the BSD-style license found in the
4*4bdc9457SAndroid Build Coastguard Worker // LICENSE file in the root directory of this source tree.
5*4bdc9457SAndroid Build Coastguard Worker 
6*4bdc9457SAndroid Build Coastguard Worker #pragma once
7*4bdc9457SAndroid Build Coastguard Worker 
8*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack.h>
9*4bdc9457SAndroid Build Coastguard Worker 
10*4bdc9457SAndroid Build Coastguard Worker #include <memory>
11*4bdc9457SAndroid Build Coastguard Worker #include <vector>
12*4bdc9457SAndroid Build Coastguard Worker 
13*4bdc9457SAndroid Build Coastguard Worker namespace models {
14*4bdc9457SAndroid Build Coastguard Worker 
15*4bdc9457SAndroid Build Coastguard Worker typedef std::vector<std::unique_ptr<xnn_operator, decltype(&xnn_delete_operator)>> ExecutionPlan;
16*4bdc9457SAndroid Build Coastguard Worker typedef ExecutionPlan (*ExecutionPlanFactory)(pthreadpool_t threadpool);
17*4bdc9457SAndroid Build Coastguard Worker 
18*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan FP32MobileNetV1(pthreadpool_t threadpool);
19*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan FP32MobileNetV2(pthreadpool_t threadpool);
20*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan FP32MobileNetV3Large(pthreadpool_t threadpool);
21*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan FP32MobileNetV3Small(pthreadpool_t threadpool);
22*4bdc9457SAndroid Build Coastguard Worker 
23*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan FP32SparseMobileNetV1(float sparsity, pthreadpool_t threadpool);
24*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan FP32SparseMobileNetV2(float sparsity, pthreadpool_t threadpool);
25*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan FP32SparseMobileNetV3Large(float sparsity, pthreadpool_t threadpool);
26*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan FP32SparseMobileNetV3Small(float sparsity, pthreadpool_t threadpool);
27*4bdc9457SAndroid Build Coastguard Worker 
28*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan FP16MobileNetV1(pthreadpool_t threadpool);
29*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan FP16MobileNetV2(pthreadpool_t threadpool);
30*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan FP16MobileNetV3Large(pthreadpool_t threadpool);
31*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan FP16MobileNetV3Small(pthreadpool_t threadpool);
32*4bdc9457SAndroid Build Coastguard Worker 
33*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan QC8MobileNetV1(pthreadpool_t threadpool);
34*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan QC8MobileNetV2(pthreadpool_t threadpool);
35*4bdc9457SAndroid Build Coastguard Worker 
36*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan QS8MobileNetV1(pthreadpool_t threadpool);
37*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan QS8MobileNetV2(pthreadpool_t threadpool);
38*4bdc9457SAndroid Build Coastguard Worker 
39*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan QU8MobileNetV1(pthreadpool_t threadpool);
40*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan QU8MobileNetV2(pthreadpool_t threadpool);
41*4bdc9457SAndroid Build Coastguard Worker 
42*4bdc9457SAndroid Build Coastguard Worker }  // namespace models
43