From: Andrew Date: Sat, 7 Jan 2017 18:01:42 +0000 (+0100) Subject: anti GC and reflow X-Git-Tag: upstream/0.2.20^2~89^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8379550076ae11a5656de4a39a9f4691e557f729;p=platform%2Fupstream%2Fopenblas.git anti GC and reflow --- diff --git a/benchmark/scripts/R/deig.R b/benchmark/scripts/R/deig.R index 3521c7c..ece727f 100755 --- a/benchmark/scripts/R/deig.R +++ b/benchmark/scripts/R/deig.R @@ -2,61 +2,54 @@ argv <- commandArgs(trailingOnly = TRUE) -nfrom = 128 -nto = 2048 -nstep = 128 -loops = 1 - -if ( length(argv) > 0 ) { - - for ( z in 1:length(argv) ) { - - if ( z == 1 ) { - nfrom <- as.numeric(argv[z]) - } else if ( z==2 ) { - nto <- as.numeric(argv[z]) - } else if ( z==3 ) { - nstep <- as.numeric(argv[z]) - } else if ( z==4 ) { - loops <- as.numeric(argv[z]) - } - } +nfrom <- 128 +nto <- 2048 +nstep <- 128 +loops <- 1 + +if (length(argv) > 0) { + for (z in 1:length(argv)) { + if (z == 1) { + nfrom <- as.numeric(argv[z]) + } else if (z == 2) { + nto <- as.numeric(argv[z]) + } else if (z == 3) { + nstep <- as.numeric(argv[z]) + } else if (z == 4) { + loops <- as.numeric(argv[z]) + } + } } -p=Sys.getenv("OPENBLAS_LOOPS") -if ( p != "" ) { - loops <- as.numeric(p) -} +p <- Sys.getenv("OPENBLAS_LOOPS") +if (p != "") { + loops <- as.numeric(p) +} -cat(sprintf("From %.0f To %.0f Step=%.0f Loops=%.0f\n",nfrom, nto, nstep, loops)) +cat(sprintf( + "From %.0f To %.0f Step=%.0f Loops=%.0f\n", + nfrom, + nto, + nstep, + loops +)) cat(sprintf(" SIZE Flops Time\n")) -n = nfrom -while ( n <= nto ) { - - A <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) - - l = 1 - - start <- proc.time()[3] - - while ( l <= loops ) { +n <- nfrom +while (n <= nto) { + A <- matrix(rnorm(n * n), ncol = n, nrow = n) + ev <- 0 + z <- system.time(for (l in 1:loops) { + ev <- eigen(A) + }) - ev <- eigen(A) - l = l + 1 - } + mflops <- (26.66 * n * n * n) * loops / (z[3] * 1.0e6) - end <- proc.time()[3] - timeg = end - start - mflops = (26.66 *n*n*n ) * loops / ( timeg * 1.0e6 ) + st <- sprintf("%.0fx%.0f :", n, n) + cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, z[3])) - st = sprintf("%.0fx%.0f :",n , n) - cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, timeg)) - - n = n + nstep + n <- n + nstep } - - diff --git a/benchmark/scripts/R/dgemm.R b/benchmark/scripts/R/dgemm.R index f1c09c3..75297df 100755 --- a/benchmark/scripts/R/dgemm.R +++ b/benchmark/scripts/R/dgemm.R @@ -2,62 +2,63 @@ argv <- commandArgs(trailingOnly = TRUE) -nfrom = 128 -nto = 2048 -nstep = 128 -loops = 1 - -if ( length(argv) > 0 ) { - - for ( z in 1:length(argv) ) { - - if ( z == 1 ) { - nfrom <- as.numeric(argv[z]) - } else if ( z==2 ) { - nto <- as.numeric(argv[z]) - } else if ( z==3 ) { - nstep <- as.numeric(argv[z]) - } else if ( z==4 ) { - loops <- as.numeric(argv[z]) - } - } +nfrom <- 128 +nto <- 2048 +nstep <- 128 +loops <- 1 + +if (length(argv) > 0) { + for (z in 1:length(argv)) { + if (z == 1) { + nfrom <- as.numeric(argv[z]) + } else if (z == 2) { + nto <- as.numeric(argv[z]) + } else if (z == 3) { + nstep <- as.numeric(argv[z]) + } else if (z == 4) { + loops <- as.numeric(argv[z]) + } + } } -p=Sys.getenv("OPENBLAS_LOOPS") -if ( p != "" ) { - loops <- as.numeric(p) -} +p <- Sys.getenv("OPENBLAS_LOOPS") +if (p != "") { + loops <- as.numeric(p) +} -cat(sprintf("From %.0f To %.0f Step=%.0f Loops=%.0f\n",nfrom, nto, nstep, loops)) +cat(sprintf( + "From %.0f To %.0f Step=%.0f Loops=%.0f\n", + nfrom, + nto, + nstep, + loops +)) cat(sprintf(" SIZE Flops Time\n")) -n = nfrom -while ( n <= nto ) { - - A <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) - B <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) - - l = 1 - - start <- proc.time()[3] +n <- nfrom +while (n <= nto) { + A <- matrix(runif(n * n), + ncol = n, + nrow = n, + byrow = TRUE) + B <- matrix(runif(n * n), + ncol = n, + nrow = n, + byrow = TRUE) + C <- 1 - while ( l <= loops ) { + z <- system.time(for (l in 1:loops) { + C <- A %*% B + l <- l + 1 + }) - C <- A %*% B - l = l + 1 - } + mflops <- (2.0 * n * n * n) * loops / (z[3] * 1.0e6) - end <- proc.time()[3] - timeg = end - start - mflops = ( 2.0 *n*n*n ) * loops / ( timeg * 1.0e6 ) + st <- sprintf("%.0fx%.0f :", n, n) + cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, z[3])) - st = sprintf("%.0fx%.0f :",n , n) - cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, timeg)) - - n = n + nstep + n <- n + nstep } - - diff --git a/benchmark/scripts/R/dsolve.R b/benchmark/scripts/R/dsolve.R index 6c6b77f..a3fb78d 100755 --- a/benchmark/scripts/R/dsolve.R +++ b/benchmark/scripts/R/dsolve.R @@ -2,62 +2,56 @@ argv <- commandArgs(trailingOnly = TRUE) -nfrom = 128 -nto = 2048 -nstep = 128 -loops = 1 - -if ( length(argv) > 0 ) { - - for ( z in 1:length(argv) ) { - - if ( z == 1 ) { - nfrom <- as.numeric(argv[z]) - } else if ( z==2 ) { - nto <- as.numeric(argv[z]) - } else if ( z==3 ) { - nstep <- as.numeric(argv[z]) - } else if ( z==4 ) { - loops <- as.numeric(argv[z]) - } - } +nfrom <- 128 +nto <- 2048 +nstep <- 128 +loops <- 1 + +if (length(argv) > 0) { + for (z in 1:length(argv)) { + if (z == 1) { + nfrom <- as.numeric(argv[z]) + } else if (z == 2) { + nto <- as.numeric(argv[z]) + } else if (z == 3) { + nstep <- as.numeric(argv[z]) + } else if (z == 4) { + loops <- as.numeric(argv[z]) + } + } } -p=Sys.getenv("OPENBLAS_LOOPS") -if ( p != "" ) { - loops <- as.numeric(p) -} +p <- Sys.getenv("OPENBLAS_LOOPS") +if (p != "") { + loops <- as.numeric(p) +} -cat(sprintf("From %.0f To %.0f Step=%.0f Loops=%.0f\n",nfrom, nto, nstep, loops)) +cat(sprintf( + "From %.0f To %.0f Step=%.0f Loops=%.0f\n", + nfrom, + nto, + nstep, + loops +)) cat(sprintf(" SIZE Flops Time\n")) -n = nfrom -while ( n <= nto ) { - - A <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) - B <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) - - l = 1 - - start <- proc.time()[3] +n <- nfrom +while (n <= nto) { + A <- matrix(rnorm(n * n), ncol = n, nrow = n) + B <- matrix(rnorm(n * n), ncol = n, nrow = n) - while ( l <= loops ) { + z <- system.time(for (l in 1:loops) { + solve(A, B) + }) - solve(A,B) - l = l + 1 - } + mflops <- + (2.0 / 3.0 * n * n * n + 2.0 * n * n * n) * loops / (z[3] * 1.0e6) - end <- proc.time()[3] - timeg = end - start - mflops = (2.0/3.0 *n*n*n + 2.0 *n*n*n ) * loops / ( timeg * 1.0e6 ) + st <- sprintf("%.0fx%.0f :", n, n) + cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, z[3])) - st = sprintf("%.0fx%.0f :",n , n) - cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, timeg)) - - n = n + nstep + n <- n + nstep } - -