disable NaN checks before BLAS calls dsolve.R
authorAndrew <16061801+brada4@users.noreply.github.com>
Wed, 16 Jan 2019 09:18:54 +0000 (11:18 +0200)
committerAndrew <16061801+brada4@users.noreply.github.com>
Wed, 16 Jan 2019 09:18:54 +0000 (11:18 +0200)
benchmark/scripts/R/dsolve.R

index a3fb78d..6f1b8ef 100755 (executable)
@@ -2,6 +2,10 @@
 
 argv <- commandArgs(trailingOnly = TRUE)
 
+if (!is.null(options("matprod")[[1]])) {
+  options(matprod = "blas")
+}
+
 nfrom <- 128
 nto <- 2048
 nstep <- 128
@@ -19,7 +23,6 @@ if (length(argv) > 0) {
       loops <- as.numeric(argv[z])
     }
   }
-
 }
 
 p <- Sys.getenv("OPENBLAS_LOOPS")
@@ -27,31 +30,23 @@ 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(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) {
     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)
   cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, z[3]))
 
   n <- n + nstep
-
 }
+