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 17 /* Don't edit this file alone! 18 * The array names need to match the data generated by blas_gen.py. */ 19 20 package android.cts.rsblas; 21 22 import android.content.res.AssetManager; 23 import android.content.Context; 24 import java.io.InputStream; 25 import java.io.BufferedReader; 26 import java.io.InputStreamReader; 27 import java.io.IOException; 28 29 import android.test.AndroidTestCase; 30 31 public class BLASData extends AndroidTestCase { 32 private BufferedReader mBufReader; 33 34 int dM; 35 int dN; 36 int dK; 37 38 int KL; 39 int KU; 40 41 float[] L2_sGEMV_A_mn; 42 float[] L2_sGEMV_x_n1; 43 float[] L2_sGEMV_x_n2; 44 float[] L2_sGEMV_y_m1; 45 float[] L2_sGEMV_y_m2; 46 float[] L2_sGEMV_o_N; 47 float[] L2_sGEMV_o_N2; 48 float[] L2_sGEMV_o_T; 49 float[] L2_sGEMV_o_H; 50 51 double[] L2_dGEMV_A_mn; 52 double[] L2_dGEMV_x_n1; 53 double[] L2_dGEMV_x_n2; 54 double[] L2_dGEMV_y_m1; 55 double[] L2_dGEMV_y_m2; 56 double[] L2_dGEMV_o_N; 57 double[] L2_dGEMV_o_N2; 58 double[] L2_dGEMV_o_T; 59 double[] L2_dGEMV_o_H; 60 61 float[] L2_cGEMV_A_mn; 62 float[] L2_cGEMV_x_n1; 63 float[] L2_cGEMV_x_n2; 64 float[] L2_cGEMV_y_m1; 65 float[] L2_cGEMV_y_m2; 66 float[] L2_cGEMV_o_N; 67 float[] L2_cGEMV_o_N2; 68 float[] L2_cGEMV_o_T; 69 float[] L2_cGEMV_o_H; 70 71 double[] L2_zGEMV_A_mn; 72 double[] L2_zGEMV_x_n1; 73 double[] L2_zGEMV_x_n2; 74 double[] L2_zGEMV_y_m1; 75 double[] L2_zGEMV_y_m2; 76 double[] L2_zGEMV_o_N; 77 double[] L2_zGEMV_o_N2; 78 double[] L2_zGEMV_o_T; 79 double[] L2_zGEMV_o_H; 80 81 float[] L2_sGBMV_A_mn; 82 float[] L2_sGBMV_x_n1; 83 float[] L2_sGBMV_x_n2; 84 float[] L2_sGBMV_y_m1; 85 float[] L2_sGBMV_y_m2; 86 float[] L2_sGBMV_o_N; 87 float[] L2_sGBMV_o_N2; 88 float[] L2_sGBMV_o_T; 89 float[] L2_sGBMV_o_H; 90 91 double[] L2_dGBMV_A_mn; 92 double[] L2_dGBMV_x_n1; 93 double[] L2_dGBMV_x_n2; 94 double[] L2_dGBMV_y_m1; 95 double[] L2_dGBMV_y_m2; 96 double[] L2_dGBMV_o_N; 97 double[] L2_dGBMV_o_N2; 98 double[] L2_dGBMV_o_T; 99 double[] L2_dGBMV_o_H; 100 101 float[] L2_cGBMV_A_mn; 102 float[] L2_cGBMV_x_n1; 103 float[] L2_cGBMV_x_n2; 104 float[] L2_cGBMV_y_m1; 105 float[] L2_cGBMV_y_m2; 106 float[] L2_cGBMV_o_N; 107 float[] L2_cGBMV_o_N2; 108 float[] L2_cGBMV_o_T; 109 float[] L2_cGBMV_o_H; 110 111 double[] L2_zGBMV_A_mn; 112 double[] L2_zGBMV_x_n1; 113 double[] L2_zGBMV_x_n2; 114 double[] L2_zGBMV_y_m1; 115 double[] L2_zGBMV_y_m2; 116 double[] L2_zGBMV_o_N; 117 double[] L2_zGBMV_o_N2; 118 double[] L2_zGBMV_o_T; 119 double[] L2_zGBMV_o_H; 120 121 float[] L2_cHEMV_A_nn; 122 float[] L2_cHEMV_A_nn_pu; 123 float[] L2_cHEMV_x_n1; 124 float[] L2_cHEMV_x_n2; 125 float[] L2_cHEMV_y_n1; 126 float[] L2_cHEMV_y_n2; 127 float[] L2_cHEMV_o_N; 128 float[] L2_cHEMV_o_N2; 129 130 double[] L2_zHEMV_A_nn; 131 double[] L2_zHEMV_A_nn_pu; 132 double[] L2_zHEMV_x_n1; 133 double[] L2_zHEMV_x_n2; 134 double[] L2_zHEMV_y_n1; 135 double[] L2_zHEMV_y_n2; 136 double[] L2_zHEMV_o_N; 137 double[] L2_zHEMV_o_N2; 138 139 float[] L2_cHBMV_A_nn; 140 float[] L2_cHBMV_x_n1; 141 float[] L2_cHBMV_x_n2; 142 float[] L2_cHBMV_y_n1; 143 float[] L2_cHBMV_y_n2; 144 float[] L2_cHBMV_o_N; 145 float[] L2_cHBMV_o_N2; 146 147 double[] L2_zHBMV_A_nn; 148 double[] L2_zHBMV_x_n1; 149 double[] L2_zHBMV_x_n2; 150 double[] L2_zHBMV_y_n1; 151 double[] L2_zHBMV_y_n2; 152 double[] L2_zHBMV_o_N; 153 double[] L2_zHBMV_o_N2; 154 155 float[] L2_sSYMV_A_nn; 156 float[] L2_sSYMV_A_nn_pu; 157 float[] L2_sSYMV_x_n1; 158 float[] L2_sSYMV_x_n2; 159 float[] L2_sSYMV_y_n1; 160 float[] L2_sSYMV_y_n2; 161 float[] L2_sSYMV_o_N; 162 float[] L2_sSYMV_o_N2; 163 164 double[] L2_dSYMV_A_nn; 165 double[] L2_dSYMV_A_nn_pu; 166 double[] L2_dSYMV_x_n1; 167 double[] L2_dSYMV_x_n2; 168 double[] L2_dSYMV_y_n1; 169 double[] L2_dSYMV_y_n2; 170 double[] L2_dSYMV_o_N; 171 double[] L2_dSYMV_o_N2; 172 173 float[] L2_sSBMV_A_nn; 174 float[] L2_sSBMV_x_n1; 175 float[] L2_sSBMV_x_n2; 176 float[] L2_sSBMV_y_n1; 177 float[] L2_sSBMV_y_n2; 178 float[] L2_sSBMV_o_N; 179 float[] L2_sSBMV_o_N2; 180 181 double[] L2_dSBMV_A_nn; 182 double[] L2_dSBMV_x_n1; 183 double[] L2_dSBMV_x_n2; 184 double[] L2_dSBMV_y_n1; 185 double[] L2_dSBMV_y_n2; 186 double[] L2_dSBMV_o_N; 187 double[] L2_dSBMV_o_N2; 188 189 float[] L2_sTRMV_A_nn; 190 float[] L2_sTRMV_A_nn_pu; 191 float[] L2_sTRMV_x_n1; 192 float[] L2_sTRMV_x_n2; 193 float[] L2_sTRMV_o_UN; 194 float[] L2_sTRMV_o_UN2; 195 float[] L2_sTRMV_o_UT; 196 float[] L2_sTRMV_o_UH; 197 198 double[] L2_dTRMV_A_nn; 199 double[] L2_dTRMV_A_nn_pu; 200 double[] L2_dTRMV_x_n1; 201 double[] L2_dTRMV_x_n2; 202 double[] L2_dTRMV_o_UN; 203 double[] L2_dTRMV_o_UN2; 204 double[] L2_dTRMV_o_UT; 205 double[] L2_dTRMV_o_UH; 206 207 float[] L2_cTRMV_A_nn; 208 float[] L2_cTRMV_A_nn_pu; 209 float[] L2_cTRMV_x_n1; 210 float[] L2_cTRMV_x_n2; 211 float[] L2_cTRMV_o_UN; 212 float[] L2_cTRMV_o_UN2; 213 float[] L2_cTRMV_o_UT; 214 float[] L2_cTRMV_o_UH; 215 216 double[] L2_zTRMV_A_nn; 217 double[] L2_zTRMV_A_nn_pu; 218 double[] L2_zTRMV_x_n1; 219 double[] L2_zTRMV_x_n2; 220 double[] L2_zTRMV_o_UN; 221 double[] L2_zTRMV_o_UN2; 222 double[] L2_zTRMV_o_UT; 223 double[] L2_zTRMV_o_UH; 224 225 float[] L2_sTBMV_A_nn; 226 float[] L2_sTBMV_x_n1; 227 float[] L2_sTBMV_x_n2; 228 float[] L2_sTBMV_o_UN; 229 float[] L2_sTBMV_o_UN2; 230 float[] L2_sTBMV_o_UT; 231 float[] L2_sTBMV_o_UH; 232 233 double[] L2_dTBMV_A_nn; 234 double[] L2_dTBMV_x_n1; 235 double[] L2_dTBMV_x_n2; 236 double[] L2_dTBMV_o_UN; 237 double[] L2_dTBMV_o_UN2; 238 double[] L2_dTBMV_o_UT; 239 double[] L2_dTBMV_o_UH; 240 241 float[] L2_cTBMV_A_nn; 242 float[] L2_cTBMV_x_n1; 243 float[] L2_cTBMV_x_n2; 244 float[] L2_cTBMV_o_UN; 245 float[] L2_cTBMV_o_UN2; 246 float[] L2_cTBMV_o_UT; 247 float[] L2_cTBMV_o_UH; 248 249 double[] L2_zTBMV_A_nn; 250 double[] L2_zTBMV_x_n1; 251 double[] L2_zTBMV_x_n2; 252 double[] L2_zTBMV_o_UN; 253 double[] L2_zTBMV_o_UN2; 254 double[] L2_zTBMV_o_UT; 255 double[] L2_zTBMV_o_UH; 256 257 float[] L2_sTRSV_A_nn; 258 float[] L2_sTRSV_A_nn_pu; 259 float[] L2_sTRSV_x_n1; 260 float[] L2_sTRSV_x_n2; 261 float[] L2_sTRSV_o_UN; 262 float[] L2_sTRSV_o_UN2; 263 float[] L2_sTRSV_o_UT; 264 float[] L2_sTRSV_o_UH; 265 266 double[] L2_dTRSV_A_nn; 267 double[] L2_dTRSV_A_nn_pu; 268 double[] L2_dTRSV_x_n1; 269 double[] L2_dTRSV_x_n2; 270 double[] L2_dTRSV_o_UN; 271 double[] L2_dTRSV_o_UN2; 272 double[] L2_dTRSV_o_UT; 273 double[] L2_dTRSV_o_UH; 274 275 float[] L2_cTRSV_A_nn; 276 float[] L2_cTRSV_A_nn_pu; 277 float[] L2_cTRSV_x_n1; 278 float[] L2_cTRSV_x_n2; 279 float[] L2_cTRSV_o_UN; 280 float[] L2_cTRSV_o_UN2; 281 float[] L2_cTRSV_o_UT; 282 float[] L2_cTRSV_o_UH; 283 284 double[] L2_zTRSV_A_nn; 285 double[] L2_zTRSV_A_nn_pu; 286 double[] L2_zTRSV_x_n1; 287 double[] L2_zTRSV_x_n2; 288 double[] L2_zTRSV_o_UN; 289 double[] L2_zTRSV_o_UN2; 290 double[] L2_zTRSV_o_UT; 291 double[] L2_zTRSV_o_UH; 292 293 float[] L2_sTBSV_A_nn; 294 float[] L2_sTBSV_x_n1; 295 float[] L2_sTBSV_x_n2; 296 float[] L2_sTBSV_o_UN; 297 float[] L2_sTBSV_o_UN2; 298 float[] L2_sTBSV_o_UT; 299 float[] L2_sTBSV_o_UH; 300 301 double[] L2_dTBSV_A_nn; 302 double[] L2_dTBSV_x_n1; 303 double[] L2_dTBSV_x_n2; 304 double[] L2_dTBSV_o_UN; 305 double[] L2_dTBSV_o_UN2; 306 double[] L2_dTBSV_o_UT; 307 double[] L2_dTBSV_o_UH; 308 309 float[] L2_cTBSV_A_nn; 310 float[] L2_cTBSV_x_n1; 311 float[] L2_cTBSV_x_n2; 312 float[] L2_cTBSV_o_UN; 313 float[] L2_cTBSV_o_UN2; 314 float[] L2_cTBSV_o_UT; 315 float[] L2_cTBSV_o_UH; 316 317 double[] L2_zTBSV_A_nn; 318 double[] L2_zTBSV_x_n1; 319 double[] L2_zTBSV_x_n2; 320 double[] L2_zTBSV_o_UN; 321 double[] L2_zTBSV_o_UN2; 322 double[] L2_zTBSV_o_UT; 323 double[] L2_zTBSV_o_UH; 324 325 float[] L2_sGER_A_mn; 326 float[] L2_sGER_x_m1; 327 float[] L2_sGER_x_m2; 328 float[] L2_sGER_y_n1; 329 float[] L2_sGER_y_n2; 330 float[] L2_sGER_o_N; 331 332 double[] L2_dGER_A_mn; 333 double[] L2_dGER_x_m1; 334 double[] L2_dGER_x_m2; 335 double[] L2_dGER_y_n1; 336 double[] L2_dGER_y_n2; 337 double[] L2_dGER_o_N; 338 339 float[] L2_cGERU_A_mn; 340 float[] L2_cGERU_x_m1; 341 float[] L2_cGERU_x_m2; 342 float[] L2_cGERU_y_n1; 343 float[] L2_cGERU_y_n2; 344 float[] L2_cGERU_o_N; 345 346 double[] L2_zGERU_A_mn; 347 double[] L2_zGERU_x_m1; 348 double[] L2_zGERU_x_m2; 349 double[] L2_zGERU_y_n1; 350 double[] L2_zGERU_y_n2; 351 double[] L2_zGERU_o_N; 352 353 float[] L2_cGERC_A_mn; 354 float[] L2_cGERC_x_m1; 355 float[] L2_cGERC_x_m2; 356 float[] L2_cGERC_y_n1; 357 float[] L2_cGERC_y_n2; 358 float[] L2_cGERC_o_N; 359 360 double[] L2_zGERC_A_mn; 361 double[] L2_zGERC_x_m1; 362 double[] L2_zGERC_x_m2; 363 double[] L2_zGERC_y_n1; 364 double[] L2_zGERC_y_n2; 365 double[] L2_zGERC_o_N; 366 367 float[] L2_cHER_A_nn; 368 float[] L2_cHER_A_nn_pu; 369 float[] L2_cHER_x_n1; 370 float[] L2_cHER_x_n2; 371 float[] L2_cHER_o_N; 372 float[] L2_cHER_o_N_pu; 373 374 double[] L2_zHER_A_nn; 375 double[] L2_zHER_A_nn_pu; 376 double[] L2_zHER_x_n1; 377 double[] L2_zHER_x_n2; 378 double[] L2_zHER_o_N; 379 double[] L2_zHER_o_N_pu; 380 381 float[] L2_cHER2_A_nn; 382 float[] L2_cHER2_A_nn_pu; 383 float[] L2_cHER2_x_n1; 384 float[] L2_cHER2_x_n2; 385 float[] L2_cHER2_y_n1; 386 float[] L2_cHER2_y_n2; 387 float[] L2_cHER2_o_N; 388 float[] L2_cHER2_o_N_pu; 389 390 double[] L2_zHER2_A_nn; 391 double[] L2_zHER2_A_nn_pu; 392 double[] L2_zHER2_x_n1; 393 double[] L2_zHER2_x_n2; 394 double[] L2_zHER2_y_n1; 395 double[] L2_zHER2_y_n2; 396 double[] L2_zHER2_o_N; 397 double[] L2_zHER2_o_N_pu; 398 399 float[] L2_sSYR_A_nn; 400 float[] L2_sSYR_A_nn_pu; 401 float[] L2_sSYR_x_n1; 402 float[] L2_sSYR_x_n2; 403 float[] L2_sSYR_o_N; 404 float[] L2_sSYR_o_N_pu; 405 406 double[] L2_dSYR_A_nn; 407 double[] L2_dSYR_A_nn_pu; 408 double[] L2_dSYR_x_n1; 409 double[] L2_dSYR_x_n2; 410 double[] L2_dSYR_o_N; 411 double[] L2_dSYR_o_N_pu; 412 413 float[] L2_sSYR2_A_nn; 414 float[] L2_sSYR2_A_nn_pu; 415 float[] L2_sSYR2_x_n1; 416 float[] L2_sSYR2_x_n2; 417 float[] L2_sSYR2_y_n1; 418 float[] L2_sSYR2_y_n2; 419 float[] L2_sSYR2_o_N; 420 float[] L2_sSYR2_o_N_pu; 421 422 double[] L2_dSYR2_A_nn; 423 double[] L2_dSYR2_A_nn_pu; 424 double[] L2_dSYR2_x_n1; 425 double[] L2_dSYR2_x_n2; 426 double[] L2_dSYR2_y_n1; 427 double[] L2_dSYR2_y_n2; 428 double[] L2_dSYR2_o_N; 429 double[] L2_dSYR2_o_N_pu; 430 431 float[] L3_sGEMM_A_mk; 432 float[] L3_sGEMM_B_kn; 433 float[] L3_sGEMM_C_mn; 434 float[] L3_sGEMM_o_NN; 435 float[] L3_sGEMM_A_km; 436 float[] L3_sGEMM_B_nk; 437 float[] L3_sGEMM_o_TT; 438 float[] L3_sGEMM_o_HH; 439 440 double[] L3_dGEMM_A_mk; 441 double[] L3_dGEMM_B_kn; 442 double[] L3_dGEMM_C_mn; 443 double[] L3_dGEMM_o_NN; 444 double[] L3_dGEMM_A_km; 445 double[] L3_dGEMM_B_nk; 446 double[] L3_dGEMM_o_TT; 447 double[] L3_dGEMM_o_HH; 448 float[] L3_cGEMM_A_mk; 449 float[] L3_cGEMM_B_kn; 450 float[] L3_cGEMM_C_mn; 451 float[] L3_cGEMM_o_NN; 452 float[] L3_cGEMM_A_km; 453 float[] L3_cGEMM_B_nk; 454 float[] L3_cGEMM_o_TT; 455 float[] L3_cGEMM_o_HH; 456 457 double[] L3_zGEMM_A_mk; 458 double[] L3_zGEMM_B_kn; 459 double[] L3_zGEMM_C_mn; 460 double[] L3_zGEMM_o_NN; 461 double[] L3_zGEMM_A_km; 462 double[] L3_zGEMM_B_nk; 463 double[] L3_zGEMM_o_TT; 464 double[] L3_zGEMM_o_HH; 465 466 float[] L3_sSYMM_A_mm; 467 float[] L3_sSYMM_B_mn; 468 float[] L3_sSYMM_C_mn; 469 float[] L3_sSYMM_o_L; 470 float[] L3_sSYMM_A_nn; 471 float[] L3_sSYMM_o_R; 472 473 double[] L3_dSYMM_A_mm; 474 double[] L3_dSYMM_B_mn; 475 double[] L3_dSYMM_C_mn; 476 double[] L3_dSYMM_o_L; 477 double[] L3_dSYMM_A_nn; 478 double[] L3_dSYMM_o_R; 479 480 float[] L3_cSYMM_A_mm; 481 float[] L3_cSYMM_B_mn; 482 float[] L3_cSYMM_C_mn; 483 float[] L3_cSYMM_o_L; 484 float[] L3_cSYMM_A_nn; 485 float[] L3_cSYMM_o_R; 486 487 double[] L3_zSYMM_A_mm; 488 double[] L3_zSYMM_B_mn; 489 double[] L3_zSYMM_C_mn; 490 double[] L3_zSYMM_o_L; 491 double[] L3_zSYMM_A_nn; 492 double[] L3_zSYMM_o_R; 493 494 float[] L3_cHEMM_A_mm; 495 float[] L3_cHEMM_B_mn; 496 float[] L3_cHEMM_C_mn; 497 float[] L3_cHEMM_o_L; 498 float[] L3_cHEMM_A_nn; 499 float[] L3_cHEMM_o_R; 500 501 double[] L3_zHEMM_A_mm; 502 double[] L3_zHEMM_B_mn; 503 double[] L3_zHEMM_C_mn; 504 double[] L3_zHEMM_o_L; 505 double[] L3_zHEMM_A_nn; 506 double[] L3_zHEMM_o_R; 507 508 float[] L3_sSYRK_A_nk; 509 float[] L3_sSYRK_C_nn; 510 float[] L3_sSYRK_o_N; 511 float[] L3_sSYRK_A_kn; 512 float[] L3_sSYRK_o_T; 513 514 double[] L3_dSYRK_A_nk; 515 double[] L3_dSYRK_C_nn; 516 double[] L3_dSYRK_o_N; 517 double[] L3_dSYRK_A_kn; 518 double[] L3_dSYRK_o_T; 519 520 float[] L3_cSYRK_A_nk; 521 float[] L3_cSYRK_C_nn; 522 float[] L3_cSYRK_o_N; 523 float[] L3_cSYRK_A_kn; 524 float[] L3_cSYRK_o_T; 525 526 double[] L3_zSYRK_A_nk; 527 double[] L3_zSYRK_C_nn; 528 double[] L3_zSYRK_o_N; 529 double[] L3_zSYRK_A_kn; 530 double[] L3_zSYRK_o_T; 531 532 float[] L3_cHERK_A_nk; 533 float[] L3_cHERK_C_nn; 534 float[] L3_cHERK_o_N; 535 float[] L3_cHERK_A_kn; 536 float[] L3_cHERK_o_H; 537 538 double[] L3_zHERK_A_nk; 539 double[] L3_zHERK_C_nn; 540 double[] L3_zHERK_o_N; 541 double[] L3_zHERK_A_kn; 542 double[] L3_zHERK_o_H; 543 544 float[] L3_sSYR2K_A_nk; 545 float[] L3_sSYR2K_B_nk; 546 float[] L3_sSYR2K_C_nn; 547 float[] L3_sSYR2K_o_N; 548 float[] L3_sSYR2K_A_kn; 549 float[] L3_sSYR2K_B_kn; 550 float[] L3_sSYR2K_o_T; 551 552 double[] L3_dSYR2K_A_nk; 553 double[] L3_dSYR2K_B_nk; 554 double[] L3_dSYR2K_C_nn; 555 double[] L3_dSYR2K_o_N; 556 double[] L3_dSYR2K_A_kn; 557 double[] L3_dSYR2K_B_kn; 558 double[] L3_dSYR2K_o_T; 559 560 float[] L3_cSYR2K_A_nk; 561 float[] L3_cSYR2K_B_nk; 562 float[] L3_cSYR2K_C_nn; 563 float[] L3_cSYR2K_o_N; 564 float[] L3_cSYR2K_A_kn; 565 float[] L3_cSYR2K_B_kn; 566 float[] L3_cSYR2K_o_T; 567 568 double[] L3_zSYR2K_A_nk; 569 double[] L3_zSYR2K_B_nk; 570 double[] L3_zSYR2K_C_nn; 571 double[] L3_zSYR2K_o_N; 572 double[] L3_zSYR2K_A_kn; 573 double[] L3_zSYR2K_B_kn; 574 double[] L3_zSYR2K_o_T; 575 576 float[] L3_cHER2K_A_nk; 577 float[] L3_cHER2K_B_nk; 578 float[] L3_cHER2K_C_nn; 579 float[] L3_cHER2K_o_N; 580 float[] L3_cHER2K_A_kn; 581 float[] L3_cHER2K_B_kn; 582 float[] L3_cHER2K_o_H; 583 584 double[] L3_zHER2K_A_nk; 585 double[] L3_zHER2K_B_nk; 586 double[] L3_zHER2K_C_nn; 587 double[] L3_zHER2K_o_N; 588 double[] L3_zHER2K_A_kn; 589 double[] L3_zHER2K_B_kn; 590 double[] L3_zHER2K_o_H; 591 592 float[] L3_sTRMM_A_mm; 593 float[] L3_sTRMM_B_mn; 594 float[] L3_sTRMM_o_LUN; 595 float[] L3_sTRMM_A_nn; 596 float[] L3_sTRMM_o_RLT; 597 598 double[] L3_dTRMM_A_mm; 599 double[] L3_dTRMM_B_mn; 600 double[] L3_dTRMM_o_LUN; 601 double[] L3_dTRMM_A_nn; 602 double[] L3_dTRMM_o_RLT; 603 604 float[] L3_cTRMM_A_mm; 605 float[] L3_cTRMM_B_mn; 606 float[] L3_cTRMM_o_LUN; 607 float[] L3_cTRMM_A_nn; 608 float[] L3_cTRMM_o_RLT; 609 610 double[] L3_zTRMM_A_mm; 611 double[] L3_zTRMM_B_mn; 612 double[] L3_zTRMM_o_LUN; 613 double[] L3_zTRMM_A_nn; 614 double[] L3_zTRMM_o_RLT; 615 616 float[] L3_sTRSM_A_mm; 617 float[] L3_sTRSM_B_mn; 618 float[] L3_sTRSM_o_LUN; 619 float[] L3_sTRSM_A_nn; 620 float[] L3_sTRSM_o_RLT; 621 622 double[] L3_dTRSM_A_mm; 623 double[] L3_dTRSM_B_mn; 624 double[] L3_dTRSM_o_LUN; 625 double[] L3_dTRSM_A_nn; 626 double[] L3_dTRSM_o_RLT; 627 628 float[] L3_cTRSM_A_mm; 629 float[] L3_cTRSM_B_mn; 630 float[] L3_cTRSM_o_LUN; 631 float[] L3_cTRSM_A_nn; 632 float[] L3_cTRSM_o_RLT; 633 634 double[] L3_zTRSM_A_mm; 635 double[] L3_zTRSM_B_mn; 636 double[] L3_zTRSM_o_LUN; 637 double[] L3_zTRSM_A_nn; 638 double[] L3_zTRSM_o_RLT; 639 640 //load dimensions of matrixes loadMNK()641 private void loadMNK() throws Exception { 642 String data = ""; 643 int skipLine = 3; 644 645 for (int i = 0; i < skipLine; i++) { 646 data = mBufReader.readLine(); 647 } 648 data = mBufReader.readLine(); 649 650 String[] results = data.split(" "); 651 dM = Integer.parseInt(results[0]); 652 dN = Integer.parseInt(results[1]); 653 dK = Integer.parseInt(results[2]); 654 KL = Integer.parseInt(results[3]); 655 KU = Integer.parseInt(results[4]); 656 } 657 loadFloatArray()658 private float[] loadFloatArray() throws Exception { 659 String data = ""; 660 int skipLine = 2; 661 662 for (int i = 0; i < skipLine; i++) { 663 data = mBufReader.readLine(); 664 } 665 data = mBufReader.readLine(); 666 String[] results = data.split(", "); 667 668 float[] floatArr = new float[results.length]; 669 for (int i = 0; i < floatArr.length; i++) { 670 floatArr[i] = Float.parseFloat(results[i]); 671 } 672 673 return floatArr; 674 } 675 loadDoubleArray()676 private double[] loadDoubleArray() throws Exception { 677 String data = ""; 678 int skipLine = 2; 679 680 for (int i = 0; i < skipLine; i++) { 681 data = mBufReader.readLine(); 682 } 683 data = mBufReader.readLine(); 684 String[] results = data.split(", "); 685 686 double[] doubleArr = new double[results.length]; 687 for (int i = 0; i < doubleArr.length; i++) { 688 doubleArr[i] = Double.parseDouble(results[i]); 689 } 690 return doubleArr; 691 } 692 693 //load data for L2 BLAS loadGEMVData()694 private void loadGEMVData() throws Exception { 695 L2_sGEMV_A_mn = loadFloatArray(); 696 L2_sGEMV_x_n1 = loadFloatArray(); 697 L2_sGEMV_x_n2 = loadFloatArray(); 698 L2_sGEMV_y_m1 = loadFloatArray(); 699 L2_sGEMV_y_m2 = loadFloatArray(); 700 L2_sGEMV_o_N = loadFloatArray(); 701 L2_sGEMV_o_N2 = loadFloatArray(); 702 L2_sGEMV_o_T = loadFloatArray(); 703 L2_sGEMV_o_H = loadFloatArray(); 704 705 L2_dGEMV_A_mn = loadDoubleArray(); 706 L2_dGEMV_x_n1 = loadDoubleArray(); 707 L2_dGEMV_x_n2 = loadDoubleArray(); 708 L2_dGEMV_y_m1 = loadDoubleArray(); 709 L2_dGEMV_y_m2 = loadDoubleArray(); 710 L2_dGEMV_o_N = loadDoubleArray(); 711 L2_dGEMV_o_N2 = loadDoubleArray(); 712 L2_dGEMV_o_T = loadDoubleArray(); 713 L2_dGEMV_o_H = loadDoubleArray(); 714 715 L2_cGEMV_A_mn = loadFloatArray(); 716 L2_cGEMV_x_n1 = loadFloatArray(); 717 L2_cGEMV_x_n2 = loadFloatArray(); 718 L2_cGEMV_y_m1 = loadFloatArray(); 719 L2_cGEMV_y_m2 = loadFloatArray(); 720 L2_cGEMV_o_N = loadFloatArray(); 721 L2_cGEMV_o_N2 = loadFloatArray(); 722 L2_cGEMV_o_T = loadFloatArray(); 723 L2_cGEMV_o_H = loadFloatArray(); 724 725 L2_zGEMV_A_mn = loadDoubleArray(); 726 L2_zGEMV_x_n1 = loadDoubleArray(); 727 L2_zGEMV_x_n2 = loadDoubleArray(); 728 L2_zGEMV_y_m1 = loadDoubleArray(); 729 L2_zGEMV_y_m2 = loadDoubleArray(); 730 L2_zGEMV_o_N = loadDoubleArray(); 731 L2_zGEMV_o_N2 = loadDoubleArray(); 732 L2_zGEMV_o_T = loadDoubleArray(); 733 L2_zGEMV_o_H = loadDoubleArray(); 734 735 } 736 loadGBMVData()737 private void loadGBMVData() throws Exception { 738 L2_sGBMV_A_mn = loadFloatArray(); 739 L2_sGBMV_x_n1 = loadFloatArray(); 740 L2_sGBMV_x_n2 = loadFloatArray(); 741 L2_sGBMV_y_m1 = loadFloatArray(); 742 L2_sGBMV_y_m2 = loadFloatArray(); 743 L2_sGBMV_o_N = loadFloatArray(); 744 L2_sGBMV_o_N2 = loadFloatArray(); 745 L2_sGBMV_o_T = loadFloatArray(); 746 L2_sGBMV_o_H = loadFloatArray(); 747 748 L2_dGBMV_A_mn = loadDoubleArray(); 749 L2_dGBMV_x_n1 = loadDoubleArray(); 750 L2_dGBMV_x_n2 = loadDoubleArray(); 751 L2_dGBMV_y_m1 = loadDoubleArray(); 752 L2_dGBMV_y_m2 = loadDoubleArray(); 753 L2_dGBMV_o_N = loadDoubleArray(); 754 L2_dGBMV_o_N2 = loadDoubleArray(); 755 L2_dGBMV_o_T = loadDoubleArray(); 756 L2_dGBMV_o_H = loadDoubleArray(); 757 758 L2_cGBMV_A_mn = loadFloatArray(); 759 L2_cGBMV_x_n1 = loadFloatArray(); 760 L2_cGBMV_x_n2 = loadFloatArray(); 761 L2_cGBMV_y_m1 = loadFloatArray(); 762 L2_cGBMV_y_m2 = loadFloatArray(); 763 L2_cGBMV_o_N = loadFloatArray(); 764 L2_cGBMV_o_N2 = loadFloatArray(); 765 L2_cGBMV_o_T = loadFloatArray(); 766 L2_cGBMV_o_H = loadFloatArray(); 767 768 L2_zGBMV_A_mn = loadDoubleArray(); 769 L2_zGBMV_x_n1 = loadDoubleArray(); 770 L2_zGBMV_x_n2 = loadDoubleArray(); 771 L2_zGBMV_y_m1 = loadDoubleArray(); 772 L2_zGBMV_y_m2 = loadDoubleArray(); 773 L2_zGBMV_o_N = loadDoubleArray(); 774 L2_zGBMV_o_N2 = loadDoubleArray(); 775 L2_zGBMV_o_T = loadDoubleArray(); 776 L2_zGBMV_o_H = loadDoubleArray(); 777 } 778 loadHEMVData()779 private void loadHEMVData() throws Exception { 780 L2_cHEMV_A_nn = loadFloatArray(); 781 L2_cHEMV_A_nn_pu = loadFloatArray(); 782 L2_cHEMV_x_n1 = loadFloatArray(); 783 L2_cHEMV_x_n2 = loadFloatArray(); 784 L2_cHEMV_y_n1 = loadFloatArray(); 785 L2_cHEMV_y_n2 = loadFloatArray(); 786 L2_cHEMV_o_N = loadFloatArray(); 787 L2_cHEMV_o_N2 = loadFloatArray(); 788 789 L2_zHEMV_A_nn = loadDoubleArray(); 790 L2_zHEMV_A_nn_pu = loadDoubleArray(); 791 L2_zHEMV_x_n1 = loadDoubleArray(); 792 L2_zHEMV_x_n2 = loadDoubleArray(); 793 L2_zHEMV_y_n1 = loadDoubleArray(); 794 L2_zHEMV_y_n2 = loadDoubleArray(); 795 L2_zHEMV_o_N = loadDoubleArray(); 796 L2_zHEMV_o_N2 = loadDoubleArray(); 797 } 798 loadHBMVData()799 private void loadHBMVData() throws Exception { 800 L2_cHBMV_A_nn = loadFloatArray(); 801 L2_cHBMV_x_n1 = loadFloatArray(); 802 L2_cHBMV_x_n2 = loadFloatArray(); 803 L2_cHBMV_y_n1 = loadFloatArray(); 804 L2_cHBMV_y_n2 = loadFloatArray(); 805 L2_cHBMV_o_N = loadFloatArray(); 806 L2_cHBMV_o_N2 = loadFloatArray(); 807 808 L2_zHBMV_A_nn = loadDoubleArray(); 809 L2_zHBMV_x_n1 = loadDoubleArray(); 810 L2_zHBMV_x_n2 = loadDoubleArray(); 811 L2_zHBMV_y_n1 = loadDoubleArray(); 812 L2_zHBMV_y_n2 = loadDoubleArray(); 813 L2_zHBMV_o_N = loadDoubleArray(); 814 L2_zHBMV_o_N2 = loadDoubleArray(); 815 } 816 loadSYMVData()817 private void loadSYMVData() throws Exception { 818 L2_sSYMV_A_nn = loadFloatArray(); 819 L2_sSYMV_A_nn_pu = loadFloatArray(); 820 L2_sSYMV_x_n1 = loadFloatArray(); 821 L2_sSYMV_x_n2 = loadFloatArray(); 822 L2_sSYMV_y_n1 = loadFloatArray(); 823 L2_sSYMV_y_n2 = loadFloatArray(); 824 L2_sSYMV_o_N = loadFloatArray(); 825 L2_sSYMV_o_N2 = loadFloatArray(); 826 827 L2_dSYMV_A_nn = loadDoubleArray(); 828 L2_dSYMV_A_nn_pu = loadDoubleArray(); 829 L2_dSYMV_x_n1 = loadDoubleArray(); 830 L2_dSYMV_x_n2 = loadDoubleArray(); 831 L2_dSYMV_y_n1 = loadDoubleArray(); 832 L2_dSYMV_y_n2 = loadDoubleArray(); 833 L2_dSYMV_o_N = loadDoubleArray(); 834 L2_dSYMV_o_N2 = loadDoubleArray(); 835 } 836 loadSBMVData()837 private void loadSBMVData() throws Exception { 838 L2_sSBMV_A_nn = loadFloatArray(); 839 L2_sSBMV_x_n1 = loadFloatArray(); 840 L2_sSBMV_x_n2 = loadFloatArray(); 841 L2_sSBMV_y_n1 = loadFloatArray(); 842 L2_sSBMV_y_n2 = loadFloatArray(); 843 L2_sSBMV_o_N = loadFloatArray(); 844 L2_sSBMV_o_N2 = loadFloatArray(); 845 846 L2_dSBMV_A_nn = loadDoubleArray(); 847 L2_dSBMV_x_n1 = loadDoubleArray(); 848 L2_dSBMV_x_n2 = loadDoubleArray(); 849 L2_dSBMV_y_n1 = loadDoubleArray(); 850 L2_dSBMV_y_n2 = loadDoubleArray(); 851 L2_dSBMV_o_N = loadDoubleArray(); 852 L2_dSBMV_o_N2 = loadDoubleArray(); 853 } 854 loadTRMVData()855 private void loadTRMVData() throws Exception { 856 L2_sTRMV_A_nn = loadFloatArray(); 857 L2_sTRMV_A_nn_pu = loadFloatArray(); 858 L2_sTRMV_x_n1 = loadFloatArray(); 859 L2_sTRMV_x_n2 = loadFloatArray(); 860 L2_sTRMV_o_UN = loadFloatArray(); 861 L2_sTRMV_o_UN2 = loadFloatArray(); 862 L2_sTRMV_o_UT = loadFloatArray(); 863 L2_sTRMV_o_UH = loadFloatArray(); 864 865 L2_dTRMV_A_nn = loadDoubleArray(); 866 L2_dTRMV_A_nn_pu = loadDoubleArray(); 867 L2_dTRMV_x_n1 = loadDoubleArray(); 868 L2_dTRMV_x_n2 = loadDoubleArray(); 869 L2_dTRMV_o_UN = loadDoubleArray(); 870 L2_dTRMV_o_UN2 = loadDoubleArray(); 871 L2_dTRMV_o_UT = loadDoubleArray(); 872 L2_dTRMV_o_UH = loadDoubleArray(); 873 874 L2_cTRMV_A_nn = loadFloatArray(); 875 L2_cTRMV_A_nn_pu = loadFloatArray(); 876 L2_cTRMV_x_n1 = loadFloatArray(); 877 L2_cTRMV_x_n2 = loadFloatArray(); 878 L2_cTRMV_o_UN = loadFloatArray(); 879 L2_cTRMV_o_UN2 = loadFloatArray(); 880 L2_cTRMV_o_UT = loadFloatArray(); 881 L2_cTRMV_o_UH = loadFloatArray(); 882 883 L2_zTRMV_A_nn = loadDoubleArray(); 884 L2_zTRMV_A_nn_pu = loadDoubleArray(); 885 L2_zTRMV_x_n1 = loadDoubleArray(); 886 L2_zTRMV_x_n2 = loadDoubleArray(); 887 L2_zTRMV_o_UN = loadDoubleArray(); 888 L2_zTRMV_o_UN2 = loadDoubleArray(); 889 L2_zTRMV_o_UT = loadDoubleArray(); 890 L2_zTRMV_o_UH = loadDoubleArray(); 891 } 892 loadTBMVData()893 private void loadTBMVData() throws Exception { 894 L2_sTBMV_A_nn = loadFloatArray(); 895 L2_sTBMV_x_n1 = loadFloatArray(); 896 L2_sTBMV_x_n2 = loadFloatArray(); 897 L2_sTBMV_o_UN = loadFloatArray(); 898 L2_sTBMV_o_UN2 = loadFloatArray(); 899 L2_sTBMV_o_UT = loadFloatArray(); 900 L2_sTBMV_o_UH = loadFloatArray(); 901 902 L2_dTBMV_A_nn = loadDoubleArray(); 903 L2_dTBMV_x_n1 = loadDoubleArray(); 904 L2_dTBMV_x_n2 = loadDoubleArray(); 905 L2_dTBMV_o_UN = loadDoubleArray(); 906 L2_dTBMV_o_UN2 = loadDoubleArray(); 907 L2_dTBMV_o_UT = loadDoubleArray(); 908 L2_dTBMV_o_UH = loadDoubleArray(); 909 910 L2_cTBMV_A_nn = loadFloatArray(); 911 L2_cTBMV_x_n1 = loadFloatArray(); 912 L2_cTBMV_x_n2 = loadFloatArray(); 913 L2_cTBMV_o_UN = loadFloatArray(); 914 L2_cTBMV_o_UN2 = loadFloatArray(); 915 L2_cTBMV_o_UT = loadFloatArray(); 916 L2_cTBMV_o_UH = loadFloatArray(); 917 918 L2_zTBMV_A_nn = loadDoubleArray(); 919 L2_zTBMV_x_n1 = loadDoubleArray(); 920 L2_zTBMV_x_n2 = loadDoubleArray(); 921 L2_zTBMV_o_UN = loadDoubleArray(); 922 L2_zTBMV_o_UN2 = loadDoubleArray(); 923 L2_zTBMV_o_UT = loadDoubleArray(); 924 L2_zTBMV_o_UH = loadDoubleArray(); 925 } 926 loadTRSVData()927 private void loadTRSVData() throws Exception { 928 L2_sTRSV_A_nn = loadFloatArray(); 929 L2_sTRSV_A_nn_pu = loadFloatArray(); 930 L2_sTRSV_x_n1 = loadFloatArray(); 931 L2_sTRSV_x_n2 = loadFloatArray(); 932 L2_sTRSV_o_UN = loadFloatArray(); 933 L2_sTRSV_o_UN2 = loadFloatArray(); 934 L2_sTRSV_o_UT = loadFloatArray(); 935 L2_sTRSV_o_UH = loadFloatArray(); 936 937 L2_dTRSV_A_nn = loadDoubleArray(); 938 L2_dTRSV_A_nn_pu = loadDoubleArray(); 939 L2_dTRSV_x_n1 = loadDoubleArray(); 940 L2_dTRSV_x_n2 = loadDoubleArray(); 941 L2_dTRSV_o_UN = loadDoubleArray(); 942 L2_dTRSV_o_UN2 = loadDoubleArray(); 943 L2_dTRSV_o_UT = loadDoubleArray(); 944 L2_dTRSV_o_UH = loadDoubleArray(); 945 946 L2_cTRSV_A_nn = loadFloatArray(); 947 L2_cTRSV_A_nn_pu = loadFloatArray(); 948 L2_cTRSV_x_n1 = loadFloatArray(); 949 L2_cTRSV_x_n2 = loadFloatArray(); 950 L2_cTRSV_o_UN = loadFloatArray(); 951 L2_cTRSV_o_UN2 = loadFloatArray(); 952 L2_cTRSV_o_UT = loadFloatArray(); 953 L2_cTRSV_o_UH = loadFloatArray(); 954 955 L2_zTRSV_A_nn = loadDoubleArray(); 956 L2_zTRSV_A_nn_pu = loadDoubleArray(); 957 L2_zTRSV_x_n1 = loadDoubleArray(); 958 L2_zTRSV_x_n2 = loadDoubleArray(); 959 L2_zTRSV_o_UN = loadDoubleArray(); 960 L2_zTRSV_o_UN2 = loadDoubleArray(); 961 L2_zTRSV_o_UT = loadDoubleArray(); 962 L2_zTRSV_o_UH = loadDoubleArray(); 963 } 964 loadTBSVData()965 private void loadTBSVData() throws Exception { 966 L2_sTBSV_A_nn = loadFloatArray(); 967 L2_sTBSV_x_n1 = loadFloatArray(); 968 L2_sTBSV_x_n2 = loadFloatArray(); 969 L2_sTBSV_o_UN = loadFloatArray(); 970 L2_sTBSV_o_UN2 = loadFloatArray(); 971 L2_sTBSV_o_UT = loadFloatArray(); 972 L2_sTBSV_o_UH = loadFloatArray(); 973 974 L2_dTBSV_A_nn = loadDoubleArray(); 975 L2_dTBSV_x_n1 = loadDoubleArray(); 976 L2_dTBSV_x_n2 = loadDoubleArray(); 977 L2_dTBSV_o_UN = loadDoubleArray(); 978 L2_dTBSV_o_UN2 = loadDoubleArray(); 979 L2_dTBSV_o_UT = loadDoubleArray(); 980 L2_dTBSV_o_UH = loadDoubleArray(); 981 982 L2_cTBSV_A_nn = loadFloatArray(); 983 L2_cTBSV_x_n1 = loadFloatArray(); 984 L2_cTBSV_x_n2 = loadFloatArray(); 985 L2_cTBSV_o_UN = loadFloatArray(); 986 L2_cTBSV_o_UN2 = loadFloatArray(); 987 L2_cTBSV_o_UT = loadFloatArray(); 988 L2_cTBSV_o_UH = loadFloatArray(); 989 990 L2_zTBSV_A_nn = loadDoubleArray(); 991 L2_zTBSV_x_n1 = loadDoubleArray(); 992 L2_zTBSV_x_n2 = loadDoubleArray(); 993 L2_zTBSV_o_UN = loadDoubleArray(); 994 L2_zTBSV_o_UN2 = loadDoubleArray(); 995 L2_zTBSV_o_UT = loadDoubleArray(); 996 L2_zTBSV_o_UH = loadDoubleArray(); 997 } 998 loadGERData()999 private void loadGERData() throws Exception { 1000 L2_sGER_A_mn = loadFloatArray(); 1001 L2_sGER_x_m1 = loadFloatArray(); 1002 L2_sGER_x_m2 = loadFloatArray(); 1003 L2_sGER_y_n1 = loadFloatArray(); 1004 L2_sGER_y_n2 = loadFloatArray(); 1005 L2_sGER_o_N = loadFloatArray(); 1006 1007 L2_dGER_A_mn = loadDoubleArray(); 1008 L2_dGER_x_m1 = loadDoubleArray(); 1009 L2_dGER_x_m2 = loadDoubleArray(); 1010 L2_dGER_y_n1 = loadDoubleArray(); 1011 L2_dGER_y_n2 = loadDoubleArray(); 1012 L2_dGER_o_N = loadDoubleArray(); 1013 } 1014 loadGERUData()1015 private void loadGERUData() throws Exception { 1016 L2_cGERU_A_mn = loadFloatArray(); 1017 L2_cGERU_x_m1 = loadFloatArray(); 1018 L2_cGERU_x_m2 = loadFloatArray(); 1019 L2_cGERU_y_n1 = loadFloatArray(); 1020 L2_cGERU_y_n2 = loadFloatArray(); 1021 L2_cGERU_o_N = loadFloatArray(); 1022 1023 L2_zGERU_A_mn = loadDoubleArray(); 1024 L2_zGERU_x_m1 = loadDoubleArray(); 1025 L2_zGERU_x_m2 = loadDoubleArray(); 1026 L2_zGERU_y_n1 = loadDoubleArray(); 1027 L2_zGERU_y_n2 = loadDoubleArray(); 1028 L2_zGERU_o_N = loadDoubleArray(); 1029 } 1030 loadGERCData()1031 private void loadGERCData() throws Exception { 1032 L2_cGERC_A_mn = loadFloatArray(); 1033 L2_cGERC_x_m1 = loadFloatArray(); 1034 L2_cGERC_x_m2 = loadFloatArray(); 1035 L2_cGERC_y_n1 = loadFloatArray(); 1036 L2_cGERC_y_n2 = loadFloatArray(); 1037 L2_cGERC_o_N = loadFloatArray(); 1038 1039 L2_zGERC_A_mn = loadDoubleArray(); 1040 L2_zGERC_x_m1 = loadDoubleArray(); 1041 L2_zGERC_x_m2 = loadDoubleArray(); 1042 L2_zGERC_y_n1 = loadDoubleArray(); 1043 L2_zGERC_y_n2 = loadDoubleArray(); 1044 L2_zGERC_o_N = loadDoubleArray(); 1045 } 1046 loadHERData()1047 private void loadHERData() throws Exception { 1048 L2_cHER_A_nn = loadFloatArray(); 1049 L2_cHER_A_nn_pu = loadFloatArray(); 1050 L2_cHER_x_n1 = loadFloatArray(); 1051 L2_cHER_x_n2 = loadFloatArray(); 1052 L2_cHER_o_N = loadFloatArray(); 1053 L2_cHER_o_N_pu = loadFloatArray(); 1054 1055 L2_zHER_A_nn = loadDoubleArray(); 1056 L2_zHER_A_nn_pu = loadDoubleArray(); 1057 L2_zHER_x_n1 = loadDoubleArray(); 1058 L2_zHER_x_n2 = loadDoubleArray(); 1059 L2_zHER_o_N = loadDoubleArray(); 1060 L2_zHER_o_N_pu = loadDoubleArray(); 1061 } 1062 loadHER2Data()1063 private void loadHER2Data() throws Exception { 1064 L2_cHER2_A_nn = loadFloatArray(); 1065 L2_cHER2_A_nn_pu = loadFloatArray(); 1066 L2_cHER2_x_n1 = loadFloatArray(); 1067 L2_cHER2_x_n2 = loadFloatArray(); 1068 L2_cHER2_y_n1 = loadFloatArray(); 1069 L2_cHER2_y_n2 = loadFloatArray(); 1070 L2_cHER2_o_N = loadFloatArray(); 1071 L2_cHER2_o_N_pu = loadFloatArray(); 1072 1073 L2_zHER2_A_nn = loadDoubleArray(); 1074 L2_zHER2_A_nn_pu = loadDoubleArray(); 1075 L2_zHER2_x_n1 = loadDoubleArray(); 1076 L2_zHER2_x_n2 = loadDoubleArray(); 1077 L2_zHER2_y_n1 = loadDoubleArray(); 1078 L2_zHER2_y_n2 = loadDoubleArray(); 1079 L2_zHER2_o_N = loadDoubleArray(); 1080 L2_zHER2_o_N_pu = loadDoubleArray(); 1081 } 1082 loadSYRData()1083 private void loadSYRData() throws Exception { 1084 L2_sSYR_A_nn = loadFloatArray(); 1085 L2_sSYR_A_nn_pu = loadFloatArray(); 1086 L2_sSYR_x_n1 = loadFloatArray(); 1087 L2_sSYR_x_n2 = loadFloatArray(); 1088 L2_sSYR_o_N = loadFloatArray(); 1089 L2_sSYR_o_N_pu = loadFloatArray(); 1090 1091 L2_dSYR_A_nn = loadDoubleArray(); 1092 L2_dSYR_A_nn_pu = loadDoubleArray(); 1093 L2_dSYR_x_n1 = loadDoubleArray(); 1094 L2_dSYR_x_n2 = loadDoubleArray(); 1095 L2_dSYR_o_N = loadDoubleArray(); 1096 L2_dSYR_o_N_pu = loadDoubleArray(); 1097 } 1098 loadSYR2Data()1099 private void loadSYR2Data() throws Exception { 1100 L2_sSYR2_A_nn = loadFloatArray(); 1101 L2_sSYR2_A_nn_pu = loadFloatArray(); 1102 L2_sSYR2_x_n1 = loadFloatArray(); 1103 L2_sSYR2_x_n2 = loadFloatArray(); 1104 L2_sSYR2_y_n1 = loadFloatArray(); 1105 L2_sSYR2_y_n2 = loadFloatArray(); 1106 L2_sSYR2_o_N = loadFloatArray(); 1107 L2_sSYR2_o_N_pu = loadFloatArray(); 1108 1109 L2_dSYR2_A_nn = loadDoubleArray(); 1110 L2_dSYR2_A_nn_pu = loadDoubleArray(); 1111 L2_dSYR2_x_n1 = loadDoubleArray(); 1112 L2_dSYR2_x_n2 = loadDoubleArray(); 1113 L2_dSYR2_y_n1 = loadDoubleArray(); 1114 L2_dSYR2_y_n2 = loadDoubleArray(); 1115 L2_dSYR2_o_N = loadDoubleArray(); 1116 L2_dSYR2_o_N_pu = loadDoubleArray(); 1117 } 1118 1119 //load data for L3 BLAS loadGEMMData()1120 private void loadGEMMData() throws Exception { 1121 L3_sGEMM_A_mk = loadFloatArray(); 1122 L3_sGEMM_B_kn = loadFloatArray(); 1123 L3_sGEMM_C_mn = loadFloatArray(); 1124 L3_sGEMM_o_NN = loadFloatArray(); 1125 L3_sGEMM_A_km = loadFloatArray(); 1126 L3_sGEMM_B_nk = loadFloatArray(); 1127 L3_sGEMM_o_TT = loadFloatArray(); 1128 L3_sGEMM_o_HH = loadFloatArray(); 1129 1130 L3_dGEMM_A_mk = loadDoubleArray(); 1131 L3_dGEMM_B_kn = loadDoubleArray(); 1132 L3_dGEMM_C_mn = loadDoubleArray(); 1133 L3_dGEMM_o_NN = loadDoubleArray(); 1134 L3_dGEMM_A_km = loadDoubleArray(); 1135 L3_dGEMM_B_nk = loadDoubleArray(); 1136 L3_dGEMM_o_TT = loadDoubleArray(); 1137 L3_dGEMM_o_HH = loadDoubleArray(); 1138 1139 L3_cGEMM_A_mk = loadFloatArray(); 1140 L3_cGEMM_B_kn = loadFloatArray(); 1141 L3_cGEMM_C_mn = loadFloatArray(); 1142 L3_cGEMM_o_NN = loadFloatArray(); 1143 L3_cGEMM_A_km = loadFloatArray(); 1144 L3_cGEMM_B_nk = loadFloatArray(); 1145 L3_cGEMM_o_TT = loadFloatArray(); 1146 L3_cGEMM_o_HH = loadFloatArray(); 1147 1148 L3_zGEMM_A_mk = loadDoubleArray(); 1149 L3_zGEMM_B_kn = loadDoubleArray(); 1150 L3_zGEMM_C_mn = loadDoubleArray(); 1151 L3_zGEMM_o_NN = loadDoubleArray(); 1152 L3_zGEMM_A_km = loadDoubleArray(); 1153 L3_zGEMM_B_nk = loadDoubleArray(); 1154 L3_zGEMM_o_TT = loadDoubleArray(); 1155 L3_zGEMM_o_HH = loadDoubleArray(); 1156 } 1157 loadSYMMData()1158 private void loadSYMMData() throws Exception { 1159 L3_sSYMM_A_mm = loadFloatArray(); 1160 L3_sSYMM_B_mn = loadFloatArray(); 1161 L3_sSYMM_C_mn = loadFloatArray(); 1162 L3_sSYMM_o_L = loadFloatArray(); 1163 L3_sSYMM_A_nn = loadFloatArray(); 1164 L3_sSYMM_o_R = loadFloatArray(); 1165 1166 L3_dSYMM_A_mm = loadDoubleArray(); 1167 L3_dSYMM_B_mn = loadDoubleArray(); 1168 L3_dSYMM_C_mn = loadDoubleArray(); 1169 L3_dSYMM_o_L = loadDoubleArray(); 1170 L3_dSYMM_A_nn = loadDoubleArray(); 1171 L3_dSYMM_o_R = loadDoubleArray(); 1172 1173 L3_cSYMM_A_mm = loadFloatArray(); 1174 L3_cSYMM_B_mn = loadFloatArray(); 1175 L3_cSYMM_C_mn = loadFloatArray(); 1176 L3_cSYMM_o_L = loadFloatArray(); 1177 L3_cSYMM_A_nn = loadFloatArray(); 1178 L3_cSYMM_o_R = loadFloatArray(); 1179 1180 L3_zSYMM_A_mm = loadDoubleArray(); 1181 L3_zSYMM_B_mn = loadDoubleArray(); 1182 L3_zSYMM_C_mn = loadDoubleArray(); 1183 L3_zSYMM_o_L = loadDoubleArray(); 1184 L3_zSYMM_A_nn = loadDoubleArray(); 1185 L3_zSYMM_o_R = loadDoubleArray(); 1186 } 1187 loadHEMMData()1188 private void loadHEMMData() throws Exception { 1189 L3_cHEMM_A_mm = loadFloatArray(); 1190 L3_cHEMM_B_mn = loadFloatArray(); 1191 L3_cHEMM_C_mn = loadFloatArray(); 1192 L3_cHEMM_o_L = loadFloatArray(); 1193 L3_cHEMM_A_nn = loadFloatArray(); 1194 L3_cHEMM_o_R = loadFloatArray(); 1195 1196 L3_zHEMM_A_mm = loadDoubleArray(); 1197 L3_zHEMM_B_mn = loadDoubleArray(); 1198 L3_zHEMM_C_mn = loadDoubleArray(); 1199 L3_zHEMM_o_L = loadDoubleArray(); 1200 L3_zHEMM_A_nn = loadDoubleArray(); 1201 L3_zHEMM_o_R = loadDoubleArray(); 1202 } 1203 loadSYRKData()1204 private void loadSYRKData() throws Exception { 1205 L3_sSYRK_A_nk = loadFloatArray(); 1206 L3_sSYRK_C_nn = loadFloatArray(); 1207 L3_sSYRK_o_N = loadFloatArray(); 1208 L3_sSYRK_A_kn = loadFloatArray(); 1209 L3_sSYRK_o_T = loadFloatArray(); 1210 1211 L3_dSYRK_A_nk = loadDoubleArray(); 1212 L3_dSYRK_C_nn = loadDoubleArray(); 1213 L3_dSYRK_o_N = loadDoubleArray(); 1214 L3_dSYRK_A_kn = loadDoubleArray(); 1215 L3_dSYRK_o_T = loadDoubleArray(); 1216 1217 L3_cSYRK_A_nk = loadFloatArray(); 1218 L3_cSYRK_C_nn = loadFloatArray(); 1219 L3_cSYRK_o_N = loadFloatArray(); 1220 L3_cSYRK_A_kn = loadFloatArray(); 1221 L3_cSYRK_o_T = loadFloatArray(); 1222 1223 L3_zSYRK_A_nk = loadDoubleArray(); 1224 L3_zSYRK_C_nn = loadDoubleArray(); 1225 L3_zSYRK_o_N = loadDoubleArray(); 1226 L3_zSYRK_A_kn = loadDoubleArray(); 1227 L3_zSYRK_o_T = loadDoubleArray(); 1228 } 1229 loadHERKData()1230 private void loadHERKData() throws Exception { 1231 L3_cHERK_A_nk = loadFloatArray(); 1232 L3_cHERK_C_nn = loadFloatArray(); 1233 L3_cHERK_o_N = loadFloatArray(); 1234 L3_cHERK_A_kn = loadFloatArray(); 1235 L3_cHERK_o_H = loadFloatArray(); 1236 1237 L3_zHERK_A_nk = loadDoubleArray(); 1238 L3_zHERK_C_nn = loadDoubleArray(); 1239 L3_zHERK_o_N = loadDoubleArray(); 1240 L3_zHERK_A_kn = loadDoubleArray(); 1241 L3_zHERK_o_H = loadDoubleArray(); 1242 } 1243 loadSYR2KData()1244 private void loadSYR2KData() throws Exception { 1245 L3_sSYR2K_A_nk = loadFloatArray(); 1246 L3_sSYR2K_B_nk = loadFloatArray(); 1247 L3_sSYR2K_C_nn = loadFloatArray(); 1248 L3_sSYR2K_o_N = loadFloatArray(); 1249 L3_sSYR2K_A_kn = loadFloatArray(); 1250 L3_sSYR2K_B_kn = loadFloatArray(); 1251 L3_sSYR2K_o_T = loadFloatArray(); 1252 1253 L3_dSYR2K_A_nk = loadDoubleArray(); 1254 L3_dSYR2K_B_nk = loadDoubleArray(); 1255 L3_dSYR2K_C_nn = loadDoubleArray(); 1256 L3_dSYR2K_o_N = loadDoubleArray(); 1257 L3_dSYR2K_A_kn = loadDoubleArray(); 1258 L3_dSYR2K_B_kn = loadDoubleArray(); 1259 L3_dSYR2K_o_T = loadDoubleArray(); 1260 1261 L3_cSYR2K_A_nk = loadFloatArray(); 1262 L3_cSYR2K_B_nk = loadFloatArray(); 1263 L3_cSYR2K_C_nn = loadFloatArray(); 1264 L3_cSYR2K_o_N = loadFloatArray(); 1265 L3_cSYR2K_A_kn = loadFloatArray(); 1266 L3_cSYR2K_B_kn = loadFloatArray(); 1267 L3_cSYR2K_o_T = loadFloatArray(); 1268 1269 L3_zSYR2K_A_nk = loadDoubleArray(); 1270 L3_zSYR2K_B_nk = loadDoubleArray(); 1271 L3_zSYR2K_C_nn = loadDoubleArray(); 1272 L3_zSYR2K_o_N = loadDoubleArray(); 1273 L3_zSYR2K_A_kn = loadDoubleArray(); 1274 L3_zSYR2K_B_kn = loadDoubleArray(); 1275 L3_zSYR2K_o_T = loadDoubleArray(); 1276 } 1277 loadHER2KData()1278 private void loadHER2KData() throws Exception { 1279 L3_cHER2K_A_nk = loadFloatArray(); 1280 L3_cHER2K_B_nk = loadFloatArray(); 1281 L3_cHER2K_C_nn = loadFloatArray(); 1282 L3_cHER2K_o_N = loadFloatArray(); 1283 L3_cHER2K_A_kn = loadFloatArray(); 1284 L3_cHER2K_B_kn = loadFloatArray(); 1285 L3_cHER2K_o_H = loadFloatArray(); 1286 1287 L3_zHER2K_A_nk = loadDoubleArray(); 1288 L3_zHER2K_B_nk = loadDoubleArray(); 1289 L3_zHER2K_C_nn = loadDoubleArray(); 1290 L3_zHER2K_o_N = loadDoubleArray(); 1291 L3_zHER2K_A_kn = loadDoubleArray(); 1292 L3_zHER2K_B_kn = loadDoubleArray(); 1293 L3_zHER2K_o_H = loadDoubleArray(); 1294 } 1295 loadTRMMData()1296 private void loadTRMMData() throws Exception { 1297 L3_sTRMM_A_mm = loadFloatArray(); 1298 L3_sTRMM_B_mn = loadFloatArray(); 1299 L3_sTRMM_o_LUN = loadFloatArray(); 1300 L3_sTRMM_A_nn = loadFloatArray(); 1301 L3_sTRMM_o_RLT = loadFloatArray(); 1302 1303 L3_dTRMM_A_mm = loadDoubleArray(); 1304 L3_dTRMM_B_mn = loadDoubleArray(); 1305 L3_dTRMM_o_LUN = loadDoubleArray(); 1306 L3_dTRMM_A_nn = loadDoubleArray(); 1307 L3_dTRMM_o_RLT = loadDoubleArray(); 1308 1309 L3_cTRMM_A_mm = loadFloatArray(); 1310 L3_cTRMM_B_mn = loadFloatArray(); 1311 L3_cTRMM_o_LUN = loadFloatArray(); 1312 L3_cTRMM_A_nn = loadFloatArray(); 1313 L3_cTRMM_o_RLT = loadFloatArray(); 1314 1315 L3_zTRMM_A_mm = loadDoubleArray(); 1316 L3_zTRMM_B_mn = loadDoubleArray(); 1317 L3_zTRMM_o_LUN = loadDoubleArray(); 1318 L3_zTRMM_A_nn = loadDoubleArray(); 1319 L3_zTRMM_o_RLT = loadDoubleArray(); 1320 } 1321 loadTRSMData()1322 private void loadTRSMData() throws Exception { 1323 L3_sTRSM_A_mm = loadFloatArray(); 1324 L3_sTRSM_B_mn = loadFloatArray(); 1325 L3_sTRSM_o_LUN = loadFloatArray(); 1326 L3_sTRSM_A_nn = loadFloatArray(); 1327 L3_sTRSM_o_RLT = loadFloatArray(); 1328 1329 L3_dTRSM_A_mm = loadDoubleArray(); 1330 L3_dTRSM_B_mn = loadDoubleArray(); 1331 L3_dTRSM_o_LUN = loadDoubleArray(); 1332 L3_dTRSM_A_nn = loadDoubleArray(); 1333 L3_dTRSM_o_RLT = loadDoubleArray(); 1334 1335 L3_cTRSM_A_mm = loadFloatArray(); 1336 L3_cTRSM_B_mn = loadFloatArray(); 1337 L3_cTRSM_o_LUN = loadFloatArray(); 1338 L3_cTRSM_A_nn = loadFloatArray(); 1339 L3_cTRSM_o_RLT = loadFloatArray(); 1340 1341 L3_zTRSM_A_mm = loadDoubleArray(); 1342 L3_zTRSM_B_mn = loadDoubleArray(); 1343 L3_zTRSM_o_LUN = loadDoubleArray(); 1344 L3_zTRSM_A_nn = loadDoubleArray(); 1345 L3_zTRSM_o_RLT = loadDoubleArray(); 1346 } 1347 loadData(Context ctx)1348 void loadData(Context ctx) throws Exception { 1349 InputStream is = ctx.getAssets().open("BLASData.txt"); 1350 mBufReader = new BufferedReader(new InputStreamReader(is)); 1351 1352 //Load data sequentially 1353 loadMNK(); 1354 loadGEMVData(); 1355 loadGBMVData(); 1356 loadHEMVData(); 1357 loadHBMVData(); 1358 loadSYMVData(); 1359 loadSBMVData(); 1360 loadTRMVData(); 1361 loadTBMVData(); 1362 loadTRSVData(); 1363 loadTBSVData(); 1364 loadGERData(); 1365 loadGERUData(); 1366 loadGERCData(); 1367 loadHERData(); 1368 loadHER2Data(); 1369 loadSYRData(); 1370 loadSYR2Data(); 1371 loadGEMMData(); 1372 loadSYMMData(); 1373 loadHEMMData(); 1374 loadSYRKData(); 1375 loadHERKData(); 1376 loadSYR2KData(); 1377 loadHER2KData(); 1378 loadTRMMData(); 1379 loadTRSMData(); 1380 } 1381 1382 } 1383