Skip to content

Commit bb65266

Browse files
committed
Fixed Robertazzi estimator, added more precision
1 parent fca826d commit bb65266

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

Diff for: src/analysis/assoc.R

+15-7
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ DBL_MIN <- 2.22507385850720138309e-308 # Machine Epsilon
1111
FLT_MIN <- 1.17549435e-38
1212
height <- 3
1313
EPS <- 2^-53
14-
ffmt = "%.3e"
14+
ffmt = "%.17e"
1515
base_dir <- 'experiments/assoc/'
1616
# Color Mappings:
1717
# A modified https://colorbrewer2.org/#type=qualitative&scheme=Dark2
@@ -130,7 +130,7 @@ mu_distr <- function(d) {
130130
}
131131
robertazzi_bound <- function(n, d) {
132132
mu <- mu_distr(d)
133-
return((1/3) * (mu/2)^2 * n^3 * EPS^2 * (1/12))
133+
return((1/3) * (mu)^2 * n^3 * EPS^2 * (1/12))
134134
}
135135

136136
#####################################################################
@@ -205,21 +205,29 @@ rora <- allr[allr$order == "Shuffle rand assoc",]
205205
cat(sprintf("*** %s ***\n", distr))
206206
cat(sprintf(paste0("min:\t",ffmt,"\nmax:\t",ffmt,"\ncanon:\t",ffmt,"\nmpfr:\t",ffmt,"\n"),
207207
min(allr$fp_a), max(allr$fp_a), canonical, mpfr_1000))
208-
cat(sprintf(paste0("abs error:\nfora:\t",ffmt,"\nrola:\t",ffmt,"\nrora:\t",ffmt,"\n"),
208+
cat(sprintf(paste0("mean abs error:\nfora:\t",ffmt,"\nrola:\t",ffmt,"\nrora:\t",ffmt,"\ncanon:\t",ffmt,"\n"),
209209
mean(abs(fora$error_mpfr)),
210210
mean(abs(rola$error_mpfr)),
211-
mean(abs(rora$error_mpfr))))
211+
mean(abs(rora$error_mpfr)),
212+
mean(abs(canonical-mpfr_1000))))
213+
cat(sprintf(paste0("max abs error:\nfora:\t",ffmt,"\nrola:\t",ffmt,"\nrora:\t",ffmt,"\ncanon:\t",ffmt,"\n"),
214+
max(abs(fora$error_mpfr)),
215+
max(abs(rola$error_mpfr)),
216+
max(abs(rora$error_mpfr)),
217+
max(abs(canonical-mpfr_1000))))
212218
cat(sprintf(paste0("analy:\t",ffmt,"\n"), analytical_abs_bound(veclen, distr)))
213-
cat(sprintf(paste0("mean rel error:\nfora:\t",ffmt,"\nrola:\t",ffmt,"\nrora:\t",ffmt,"\n"),
219+
cat(sprintf(paste0("mean rel error:\nfora:\t",ffmt,"\nrola:\t",ffmt,"\nrora:\t",ffmt,"\ncanon:\t",ffmt,"\n"),
214220
mean(rel_err(fora,mpfr_1000)),
215221
mean(rel_err(rola,mpfr_1000)),
216-
mean(rel_err(rora,mpfr_1000))))
222+
mean(rel_err(rora,mpfr_1000)),
223+
mean(abs((canonical-mpfr_1000)/mpfr_1000))))
217224
cat(sprintf(paste0("max rel:\nfora:\t",ffmt,"\nrola:\t",ffmt,"\nrora:\t",ffmt,"\n"),
218225
max(rel_err(fora,mpfr_1000)),
219226
max(rel_err(rola,mpfr_1000)),
220227
max(rel_err(rora,mpfr_1000))))
221228
cat(sprintf(paste0("sla:\t",ffmt,"\n"), abs((canonical-mpfr_1000)/mpfr_1000)))
222-
cat(sprintf(paste0("analy:\t",ffmt,"\n"), abs(analytical_abs_bound(veclen, x)/mpfr_1000)))
229+
cat(sprintf(paste0("analy:\t",ffmt,"\n"), abs(analytical_abs_bound(veclen, distr)/mpfr_1000)))
230+
cat(sprintf(paste0("rober:\t",ffmt,"\n"), robertazzi_bound(veclen, distr)))
223231
cat(sprintf("Unique:\nfora:\t%d\nrola:\t%d\nrora:\t%d\n",
224232
length(unique(fora$error_mpfr)), length(unique(rola$error_mpfr)), length(unique(rora$error_mpfr))))
225233
cat(sprintf("Nonidentical (fora - rora): %d\n", length(intersect(fora$error_mpfr, rora$error_mpfr))))

Diff for: src/analysis/nekbone.R

+1-1
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ unique_res <- nbf_all %>%
170170
group_by(NP, topology) %>%
171171
summarize(unique(cg_residual))
172172
res_72 <- unique_res %>% filter(topology == 'fattree-72')
173-
cat("Unique results for fattree-72:", as.character(res_72$"unique(cg_residual)"), "\n")
173+
cat("Unique results for fattree-72:", format(res_72$"unique(cg_residual)", digits=17), "\n")
174174
cat("Num unique experiments",
175175
nbf_all %>% group_by(NP, topology, algo) %>% summarize(n_distinct(NP, topology, algo)) %>% nrow(),
176176
"\n")

0 commit comments

Comments
 (0)