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