12c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang/* 22c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * Copyright (C) 2015 The Android Open Source Project 32c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * 42c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * Licensed under the Apache License, Version 2.0 (the "License"); 52c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * you may not use this file except in compliance with the License. 62c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * You may obtain a copy of the License at 72c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * 82c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * http://www.apache.org/licenses/LICENSE-2.0 92c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * 102c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * Unless required by applicable law or agreed to in writing, software 112c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * distributed under the License is distributed on an "AS IS" BASIS, 122c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * See the License for the specific language governing permissions and 142c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * limitations under the License. 152c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang */ 162c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang 172c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wangpackage com.example.android.rs.blasbenchmark; 182c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang 192c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wangimport android.app.Activity; 202c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wangimport android.view.View; 212c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wangimport android.util.Log; 222c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang 232c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wangpublic class BlasTestList { 242c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang private final String TAG = "BLAS"; 252c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang public final String RESULT_FILE = "blas_benchmark_result.csv"; 262c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang 272c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang /** 282c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang * Define enum type for test names 292c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang */ 302c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang public enum TestName { 312c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang 322c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang SGEMM_SMALL ("SGEMM Test Small", 1.f), 332c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang SGEMM_MEDIUM ("SGEMM Test Medium", 1.f), 342c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang SGEMM_LARGE ("SGEMM Test LARGE", 1.f), 352c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang BNNM_SMALL ("8Bit GEMM Test Small", 1.f), 362c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang BNNM_MEDIUM ("8Bit GEMM Test Medium", 1.f), 372c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang BNNM_LARGE ("8Bit GEMM Test Large", 1.f); 382c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang 392c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang private final String name; 402c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang public final float baseline; 412c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang 422c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang private TestName(String s, float base) { 432c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang name = s; 442c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang baseline = base; 452c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang } 462c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang private TestName(String s) { 472c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang name = s; 482c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang baseline = 1.f; 492c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang } 502c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang 512c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang // return quoted string as displayed test name 522c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang public String toString() { 532c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang return name; 542c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang } 552c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang } 562c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang 572c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang static TestBase newTest(TestName testName) { 582c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang switch(testName) { 592c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang case SGEMM_SMALL: 602c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang return new SGEMMTest(1); 612c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang case SGEMM_MEDIUM: 622c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang return new SGEMMTest(2); 632c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang case SGEMM_LARGE: 642c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang return new SGEMMTest(3); 652c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang case BNNM_SMALL: 662c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang return new BNNMTest(1); 672c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang case BNNM_MEDIUM: 682c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang return new BNNMTest(2); 692c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang case BNNM_LARGE: 702c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang return new BNNMTest(3); 712c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang } 722c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang 732c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang return null; 742c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang } 752c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang} 762c9b10f9b72ebec0b1861532e4ccb6e68ac769a4Miao Wang 77