1/* 2 * Copyright (C) 2015 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.example.android.rs.blasbenchmark; 18 19import android.app.Activity; 20import android.view.View; 21import android.util.Log; 22 23public class BlasTestList { 24 private final String TAG = "BLAS"; 25 public final String RESULT_FILE = "blas_benchmark_result.csv"; 26 27 /** 28 * Define enum type for test names 29 */ 30 public enum TestName { 31 32 SGEMM_SMALL ("SGEMM Test Small", 1.f), 33 SGEMM_MEDIUM ("SGEMM Test Medium", 1.f), 34 SGEMM_LARGE ("SGEMM Test LARGE", 1.f), 35 BNNM_SMALL ("8Bit GEMM Test Small", 1.f), 36 BNNM_MEDIUM ("8Bit GEMM Test Medium", 1.f), 37 BNNM_LARGE ("8Bit GEMM Test Large", 1.f), 38 SGEMM_GoogLeNet ("GoogLeNet SGEMM Test", 1.f), 39 BNNM_GoogLeNet ("GoogLeNet BNNM Test", 1.f), 40 SGEMM_GoogLeNet_Padded ("GoogLeNet SGEMM Test Padded", 1.f), 41 BNNM_GoogLeNet_Padded ("GoogLeNet BNNM Test Padded", 1.f); 42 43 private final String name; 44 public final float baseline; 45 46 private TestName(String s, float base) { 47 name = s; 48 baseline = base; 49 } 50 private TestName(String s) { 51 name = s; 52 baseline = 1.f; 53 } 54 55 // return quoted string as displayed test name 56 public String toString() { 57 return name; 58 } 59 } 60 61 static TestBase newTest(TestName testName) { 62 switch(testName) { 63 case SGEMM_SMALL: 64 return new SGEMMTest(1); 65 case SGEMM_MEDIUM: 66 return new SGEMMTest(2); 67 case SGEMM_LARGE: 68 return new SGEMMTest(3); 69 case BNNM_SMALL: 70 return new BNNMTest(1); 71 case BNNM_MEDIUM: 72 return new BNNMTest(2); 73 case BNNM_LARGE: 74 return new BNNMTest(3); 75 case SGEMM_GoogLeNet: 76 return new GoogLeNet(1); 77 case BNNM_GoogLeNet: 78 return new GoogLeNet(2); 79 case SGEMM_GoogLeNet_Padded: 80 return new GoogLeNet(3); 81 case BNNM_GoogLeNet_Padded: 82 return new GoogLeNet(4); 83 } 84 85 return null; 86 } 87} 88 89