Huge improvement in reset (by increasing a little bit push time) using

OMP locks to assign particles to cells in the pushing step.

Trying to combine push+reset and  collision+scatter did not work.
This commit is contained in:
Jorge Gonzalez 2020-10-17 18:46:10 +02:00
commit fd42e0f3f9
7 changed files with 101 additions and 92 deletions

View file

@ -10,10 +10,10 @@ set style line 10 lt 1 lw 2.0 lc rgb "black" #Black solid line
name1 = "Base Case"
folder1 = "base_case/"
name2 = "New Version"
folder2 = "2020-10-17_14.10.29/"
name3 = "Reset with List"
folder3 = "2020-10-13_18.29.33/"
name2 = "OMP LOCK 1"
folder2 = "OMP_LOCK_1/"
name3 = "OMP LOCK 2"
folder3 = "2020-10-17_18.33.45/"
name4 = "Reset with List Parallel"
folder4 = "2020-10-11_15.20.09/"
@ -65,52 +65,52 @@ plot folder1."cpuTime.dat" u 1:($2) t name1 ls 1, \
unset multiplot
set terminal qt enhanced 2 persist size 1600, 1000 font "Times ,10"
set style line 1 pt 4 lc rgb "#B50427" #Squares red
set style line 2 pt 6 lc rgb "#3B4CC1" #Circles blue
set style line 3 pt 1 lc rgb "#2CA02C" #Crosses green
set style line 4 pt 2 lc rgb "#FE7F0E" #Exes orange
set style line 5 pt 8 lc rgb "#D6696B" #Triangles light red
set style line 10 lt 1 lw 2.0 lc rgb "black" #Black solid line
set key box opaque
set pointsize 1.5
set ylabel "Time per particle (micros)"
set xrange [0:500]
set xlabel "Iteration"
set multiplot layout 2,3
set title "Total"
plot folder1."cpuTime.dat" u 1:(1e6*$3/$2) t name1 ls 1, \
folder2."cpuTime.dat" u 1:(1e6*$3/$2) t name2 ls 2, \
folder3."cpuTime.dat" u 1:(1e6*$3/$2) t name3 ls 3, \
folder4."cpuTime.dat" u 1:(1e6*$3/$2) t name4 ls 4
set title "Push"
plot folder1."cpuTime.dat" u 1:(1e6*$4/$2) t name1 ls 1, \
folder2."cpuTime.dat" u 1:(1e6*$4/$2) t name2 ls 2, \
folder3."cpuTime.dat" u 1:(1e6*$4/$2) t name3 ls 3, \
folder4."cpuTime.dat" u 1:(1e6*$4/$2) t name4 ls 4
set title "Reset"
plot folder1."cpuTime.dat" u 1:(1e6*$5/$2) t name1 ls 1, \
folder2."cpuTime.dat" u 1:(1e6*$5/$2) t name2 ls 2, \
folder3."cpuTime.dat" u 1:(1e6*$5/$2) t name3 ls 3, \
folder4."cpuTime.dat" u 1:(1e6*$5/$2) t name4 ls 4
set title "Collisions"
plot folder1."cpuTime.dat" u 1:(1e6*$6/$2) t name1 ls 1, \
folder2."cpuTime.dat" u 1:(1e6*$6/$2) t name2 ls 2, \
folder3."cpuTime.dat" u 1:(1e6*$6/$2) t name3 ls 3, \
folder4."cpuTime.dat" u 1:(1e6*$6/$2) t name4 ls 4
set title "Weighting"
plot folder1."cpuTime.dat" u 1:(1e6*$7/$2) t name1 ls 1, \
folder2."cpuTime.dat" u 1:(1e6*$7/$2) t name2 ls 2, \
folder3."cpuTime.dat" u 1:(1e6*$7/$2) t name3 ls 3, \
folder4."cpuTime.dat" u 1:(1e6*$7/$2) t name4 ls 4
unset multiplot
# set terminal qt enhanced 2 persist size 1600, 1000 font "Times ,10"
#
# set style line 1 pt 4 lc rgb "#B50427" #Squares red
# set style line 2 pt 6 lc rgb "#3B4CC1" #Circles blue
# set style line 3 pt 1 lc rgb "#2CA02C" #Crosses green
# set style line 4 pt 2 lc rgb "#FE7F0E" #Exes orange
# set style line 5 pt 8 lc rgb "#D6696B" #Triangles light red
# set style line 10 lt 1 lw 2.0 lc rgb "black" #Black solid line
#
# set key box opaque
# set pointsize 1.5
#
# set ylabel "Time per particle (micros)"
# set xrange [0:500]
# set xlabel "Iteration"
#
#
# set multiplot layout 2,3
# set title "Total"
# plot folder1."cpuTime.dat" u 1:(1e6*$3/$2) t name1 ls 1, \
# folder2."cpuTime.dat" u 1:(1e6*$3/$2) t name2 ls 2, \
# folder3."cpuTime.dat" u 1:(1e6*$3/$2) t name3 ls 3, \
# folder4."cpuTime.dat" u 1:(1e6*$3/$2) t name4 ls 4
#
# set title "Push"
# plot folder1."cpuTime.dat" u 1:(1e6*$4/$2) t name1 ls 1, \
# folder2."cpuTime.dat" u 1:(1e6*$4/$2) t name2 ls 2, \
# folder3."cpuTime.dat" u 1:(1e6*$4/$2) t name3 ls 3, \
# folder4."cpuTime.dat" u 1:(1e6*$4/$2) t name4 ls 4
#
# set title "Reset"
# plot folder1."cpuTime.dat" u 1:(1e6*$5/$2) t name1 ls 1, \
# folder2."cpuTime.dat" u 1:(1e6*$5/$2) t name2 ls 2, \
# folder3."cpuTime.dat" u 1:(1e6*$5/$2) t name3 ls 3, \
# folder4."cpuTime.dat" u 1:(1e6*$5/$2) t name4 ls 4
#
# set title "Collisions"
# plot folder1."cpuTime.dat" u 1:(1e6*$6/$2) t name1 ls 1, \
# folder2."cpuTime.dat" u 1:(1e6*$6/$2) t name2 ls 2, \
# folder3."cpuTime.dat" u 1:(1e6*$6/$2) t name3 ls 3, \
# folder4."cpuTime.dat" u 1:(1e6*$6/$2) t name4 ls 4
#
# set title "Weighting"
# plot folder1."cpuTime.dat" u 1:(1e6*$7/$2) t name1 ls 1, \
# folder2."cpuTime.dat" u 1:(1e6*$7/$2) t name2 ls 2, \
# folder3."cpuTime.dat" u 1:(1e6*$7/$2) t name3 ls 3, \
# folder4."cpuTime.dat" u 1:(1e6*$7/$2) t name4 ls 4
#
# unset multiplot