Browse Source

disable NaN checks before BLAS calls dsolve.R

tags/v0.3.6^2
Andrew 6 years ago
parent
commit
b70fd23836
1 changed files with 9 additions and 14 deletions
  1. +9
    -14
      benchmark/scripts/R/dsolve.R

+ 9
- 14
benchmark/scripts/R/dsolve.R View File

@@ -2,6 +2,10 @@


argv <- commandArgs(trailingOnly = TRUE) argv <- commandArgs(trailingOnly = TRUE)


if (!is.null(options("matprod")[[1]])) {
options(matprod = "blas")
}

nfrom <- 128 nfrom <- 128
nto <- 2048 nto <- 2048
nstep <- 128 nstep <- 128
@@ -19,7 +23,6 @@ if (length(argv) > 0) {
loops <- as.numeric(argv[z]) loops <- as.numeric(argv[z])
} }
} }

} }


p <- Sys.getenv("OPENBLAS_LOOPS") p <- Sys.getenv("OPENBLAS_LOOPS")
@@ -27,31 +30,23 @@ if (p != "") {
loops <- as.numeric(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")) cat(sprintf(" SIZE Flops Time\n"))


n <- nfrom n <- nfrom
while (n <= nto) { while (n <= nto) {
A <- matrix(rnorm(n * n), ncol = n, nrow = n)
B <- matrix(rnorm(n * n), ncol = n, nrow = n)
A <- matrix(rnorm(n * n), nrow = n)
B <- matrix(rnorm(n * n), nrow = n)


z <- system.time(for (l in 1:loops) { z <- system.time(for (l in 1:loops) {
solve(A, B) solve(A, B)
}) })


mflops <-
(2.0 / 3.0 * n * n * n + 2.0 * n * n * n) * loops / (z[3] * 1.0e6)
mflops <- (2.0/3 * n * n * n + 2 * n * n * n) * loops/ (z[3] * 1e6)


st <- sprintf("%.0fx%.0f :", n, n) st <- sprintf("%.0fx%.0f :", n, n)
cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, z[3])) cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, z[3]))


n <- n + nstep n <- n + nstep

} }


Loading…
Cancel
Save