fwi: adjust input size to meet timing constraints

The previous iniput size for both granularity and strong scaling tests
where too big to meet the timing constrains needed for garlic. This
patch sets a new, smaller, input size.

Also, a minor cleanup is applied to the rest of the fwi experiments
and figures.
This commit is contained in:
2021-04-07 12:35:44 +02:00
parent 3e5a56ebdb
commit 989f6ee018
14 changed files with 96 additions and 267 deletions

View File

@@ -30,7 +30,7 @@ w=5
####################################################################
### Line Graph
####################################################################
png("time.png", width=w*ppi, height=h*ppi, res=ppi)
png("mtime.png", width=w*ppi, height=h*ppi, res=ppi)
## Create the plot with the normalized time vs nblocks
p = ggplot(df, aes(x = blocksize, y=mtime, group=gitBranch, color=gitBranch)) +
@@ -49,22 +49,23 @@ print(p)
dev.off()
####################################################################
### Boxplot
### Line Graph
####################################################################
png("box.png", width=w*ppi, height=h*ppi, res=ppi)
# Create the plot with the normalized time vs nblocks
p = ggplot(df, aes(x=blocksize, y=time, group=gitBranch, colour=gitBranch)) +
# Labels
labs(x="Blocksize", y="Normalized time",
title=sprintf("FWI Time"),
subtitle=input_file) +
# Draw boxplots
geom_boxplot() +
theme_bw() +
theme(plot.subtitle=element_text(size=8)) +
theme(legend.position = c(0.5, 0.88))
png("time.png", width=w*ppi, height=h*ppi, res=ppi)
## Create the plot with the normalized time vs nblocks
p = ggplot(df, aes(x = blocksize, y=time, group=gitBranch, color=gitBranch)) +
geom_point() +
geom_line() +
theme_bw() +
labs(x="Blocksize", y="Time (s)", title="FWI granularity",
subtitle=input_file) +
theme(plot.subtitle=element_text(size=8)) +
theme(legend.position = c(0.5, 0.88))
# Render the plot
print(p)
## Save the png image
# Save the png image
dev.off()

View File

@@ -14,7 +14,7 @@ dataset = jsonlite::stream_in(file(input_file)) %>%
jsonlite::flatten()
# Select block size to display
useBlocksize = 1
useBlocksize = 2
# We only need the nblocks and time
df = select(dataset, config.blocksize, config.gitBranch, config.nodes, time) %>%
@@ -59,7 +59,7 @@ print(p)
dev.off()
####################################################################
### Line plot (timei x nodes)
### Line plot (time x nodes)
####################################################################
png("nxtime.png", width=w*ppi, height=h*ppi, res=ppi)

View File

@@ -1,46 +0,0 @@
library(ggplot2)
library(dplyr)
library(scales)
library(jsonlite)
args=commandArgs(trailingOnly=TRUE)
# Read the timetable from args[1]
input_file = "input.json"
if (length(args)>0) { input_file = args[1] }
# Load the dataset in NDJSON format
dataset = jsonlite::stream_in(file(input_file)) %>%
jsonlite::flatten()
# We only need the nblocks and time
df = select(dataset, config.blocksize, config.gitBranch, time) %>%
rename(blocksize=config.blocksize, gitBranch=config.gitBranch) %>%
group_by(blocksize, gitBranch) %>%
mutate(mtime = median(time)) %>%
ungroup()
df$gitBranch = as.factor(df$gitBranch)
df$blocksize = as.factor(df$blocksize)
ppi=300
h=5
w=5
png("time.png", width=w*ppi, height=h*ppi, res=ppi)
#
## Create the plot with the normalized time vs nblocks
p = ggplot(df, aes(x=blocksize, y=time)) +
geom_point() +
geom_line(aes(y=mtime, group=gitBranch, color=gitBranch)) +
theme_bw() +
labs(x="Blocksize", y="Time (s)", title="FWI granularity",
subtitle=input_file) +
theme(plot.subtitle=element_text(size=8)) +
theme(legend.position = c(0.5, 0.88))
# Render the plot
print(p)
# Save the png image
dev.off()

View File

@@ -62,10 +62,12 @@ in
};
fwi = with exp.fwi; {
test = stdPlot ./fwi/test.R [ test ];
strong_scaling = stdPlot ./fwi/strong_scaling.R [ strong_scaling_task strong_scaling_forkjoin strong_scaling_mpionly ];
strong_scaling_io = stdPlot ./fwi/strong_scaling_io.R [ strong_scaling_io ];
granularity = stdPlot ./fwi/granularity.R [ granularity ];
strong_scaling = stdPlot ./fwi/strong_scaling.R [ strong_scaling_task strong_scaling_forkjoin ];
#strong_scaling = stdPlot ./fwi/strong_scaling.R [ strong_scaling_task strong_scaling_forkjoin strong_scaling_mpionly ];
data_reuse = stdPlot ./fwi/granularity.R [ data_reuse ];
strong_scaling_io = stdPlot ./fwi/strong_scaling_io.R [ strong_scaling_io ];
sync_io = stdPlot ./fwi/strong_scaling_io.R [ sync_io ];
};
osu = with exp.osu; {