Handle OPENBLAS_LOOP

This commit is contained in:
Martin Kroeker 2021-07-04 16:59:43 +02:00 committed by GitHub
parent 2376aa1e8c
commit a4543e4918
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 5 deletions

View File

@ -56,17 +56,20 @@ int main(int argc, char *argv[]){
char uplo='U'; char uplo='U';
char trans='N'; char trans='N';
if ((p = getenv("OPENBLAS_UPLO"))) uplo=*p; if ((p = getenv("OPENBLAS_UPLO"))) uplo=*p;
if ((p = getenv("OPENBLAS_TRANS"))) trans=*p; if ((p = getenv("OPENBLAS_TRANS"))) trans=*p;
blasint m, i, j; blasint m, i, j, l;
int from = 1; int from = 1;
int to = 200; int to = 200;
int step = 1; int step = 1;
int loops = 1;
double time1; if ((p = getenv("OPENBLAS_LOOPS"))) loops=*p;
double time1,timeg;
argc--;argv++; argc--;argv++;
@ -95,9 +98,12 @@ int main(int argc, char *argv[]){
for(m = from; m <= to; m += step) for(m = from; m <= to; m += step)
{ {
timeg = 0.;
fprintf(stderr, " %6d : ", (int)m); fprintf(stderr, " %6d : ", (int)m);
for(l = 0; l < loops; l++) {
for(j = 0; j < m; j++){ for(j = 0; j < m; j++){
for(i = 0; i < m * COMPSIZE; i++){ for(i = 0; i < m * COMPSIZE; i++){
a[(long)i + (long)j * (long)m * COMPSIZE] = ((FLOAT) rand() / (FLOAT) RAND_MAX) - 0.5; a[(long)i + (long)j * (long)m * COMPSIZE] = ((FLOAT) rand() / (FLOAT) RAND_MAX) - 0.5;
@ -111,8 +117,10 @@ int main(int argc, char *argv[]){
end(); end();
time1 = getsec(); timeg += getsec();
} //loops
time1 = timeg / (double)loops;
fprintf(stderr, fprintf(stderr,
" %10.2f MFlops\n", " %10.2f MFlops\n",
COMPSIZE * COMPSIZE * 1. * (double)m * (double)m * (double)m / time1 * 1.e-6); COMPSIZE * COMPSIZE * 1. * (double)m * (double)m * (double)m / time1 * 1.e-6);