Handle OPENBLAS_LOOP
@@ -60,13 +60,16 @@ int main(int argc, char *argv[]){
if ((p = getenv("OPENBLAS_UPLO"))) uplo=*p;
if ((p = getenv("OPENBLAS_TRANS"))) trans=*p;
- blasint m, i, j;
+ blasint m, i, j, l;
int from = 1;
int to = 200;
int step = 1;
+ int loops = 1;
- double time1;
+ if ((p = getenv("OPENBLAS_LOOPS"))) loops=*p;
+
+ double time1,timeg;
argc--;argv++;
@@ -95,9 +98,12 @@ int main(int argc, char *argv[]){
for(m = from; m <= to; m += step)
{
+ timeg = 0.;
fprintf(stderr, " %6d : ", (int)m);
+ for(l = 0; l < loops; l++) {
+
for(j = 0; j < m; j++){
for(i = 0; i < m * COMPSIZE; i++){
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();
- time1 = getsec();
+ timeg += getsec();
+ } //loops
+ time1 = timeg / (double)loops;
fprintf(stderr,
" %10.2f MFlops\n",
COMPSIZE * COMPSIZE * 1. * (double)m * (double)m * (double)m / time1 * 1.e-6);
