From 8379550076ae11a5656de4a39a9f4691e557f729 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 7 Jan 2017 19:01:42 +0100 Subject: [PATCH] anti GC and reflow --- benchmark/scripts/R/deig.R | 83 +++++++++++++++----------------- benchmark/scripts/R/dgemm.R | 91 ++++++++++++++++++------------------ benchmark/scripts/R/dsolve.R | 84 ++++++++++++++++----------------- 3 files changed, 123 insertions(+), 135 deletions(-) diff --git a/benchmark/scripts/R/deig.R b/benchmark/scripts/R/deig.R index 3521c7c5a..ece727fb3 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 +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]) - } - } +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 ) { +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) + }) - A <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) - - l = 1 + mflops <- (26.66 * n * n * n) * loops / (z[3] * 1.0e6) - start <- proc.time()[3] + st <- sprintf("%.0fx%.0f :", n, n) + cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, z[3])) - while ( l <= loops ) { - - ev <- eigen(A) - l = l + 1 - } - - 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, timeg)) - - n = n + nstep + n <- n + nstep } - - diff --git a/benchmark/scripts/R/dgemm.R b/benchmark/scripts/R/dgemm.R index f1c09c38d..75297dfb8 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 +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]) - } - } +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 ) { +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 - A <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) - B <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) - - l = 1 + z <- system.time(for (l in 1:loops) { + C <- A %*% B + l <- l + 1 + }) - start <- proc.time()[3] + mflops <- (2.0 * n * n * n) * loops / (z[3] * 1.0e6) - while ( l <= loops ) { + st <- sprintf("%.0fx%.0f :", n, n) + cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, z[3])) - C <- A %*% B - l = l + 1 - } - - 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, timeg)) - - n = n + nstep + n <- n + nstep } - - diff --git a/benchmark/scripts/R/dsolve.R b/benchmark/scripts/R/dsolve.R index 6c6b77f70..a3fb78da7 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 +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]) - } - } +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 ) { +n <- nfrom +while (n <= nto) { + A <- matrix(rnorm(n * n), ncol = n, nrow = n) + B <- matrix(rnorm(n * n), ncol = n, nrow = n) - A <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) - B <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) - - l = 1 + z <- system.time(for (l in 1:loops) { + solve(A, B) + }) - start <- proc.time()[3] + mflops <- + (2.0 / 3.0 * n * n * n + 2.0 * n * n * n) * loops / (z[3] * 1.0e6) - while ( l <= loops ) { + st <- sprintf("%.0fx%.0f :", n, n) + cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, z[3])) - solve(A,B) - l = l + 1 - } - - 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, timeg)) - - n = n + nstep + n <- n + nstep } - -