commit 868f84dc7b858d8a87b7d842412db42b422c7f41
parent 2f358ff454c94fa645803d9ccf8c6fc9088a7df1
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Fri, 11 Aug 2017 11:21:27 +0300
Incorporate the latest benchmark results.
Diffstat:
3 files changed, 28 insertions(+), 13 deletions(-)
diff --git a/R/benchmarks.R b/R/benchmarks.R
@@ -11,7 +11,7 @@ arma.load_benchmark_data <- function(framework, models, tags) {
values <- arma.load(
file.path("build", "arma-benchmarks", "output"),
"gpulab1",
- "a2",
+ "a4",
10000,
framework,
m,
@@ -35,7 +35,10 @@ arma.print_openmp_vs_opencl <- function(model_names, row_names) {
determine_coefficients=c("deteremine_coefficients", "determine_coefficients"),
"validate",
"generate_surface",
- velocity=c("window_function", "second_function", "fft", "dev_to_host_copy")
+ nit=c("nit_acf", "nit_realisation"),
+ "copy_to_host",
+ velocity=c("window_function", "second_function", "fft", "dev_to_host_copy"),
+ "write_all"
)
all_data <- list()
for (framework in frameworks) {
diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org
@@ -2632,6 +2632,9 @@ row_names <- list(
determine_coefficients="Определение коэффициентов",
validate="Проверка модели",
generate_surface="Генерация поверхности",
+ nit="НБП",
+ write_all="Запись вывода в файл",
+ copy_to_host="Копирование данных с GPU",
velocity="Выч. потенциалов скорости"
)
arma.print_openmp_vs_opencl(model_names, row_names)
@@ -2645,10 +2648,13 @@ arma.print_openmp_vs_opencl(model_names, row_names)
| | | | OpenMP | | OpenCL |
| \orgcmidrule{2-4}{5-6}Подпрограмма | АР | СС | ЛХ | АР | ЛХ |
|------------------------------------+------+------+--------+--------+--------|
-| Определение коэффициентов | 0.02 | 0.01 | 0.18 | 0.02 | 1.19 |
-| Проверка модели | 0.09 | 0.11 | | 0.08 | |
-| Генерация поверхности | 1.26 | 5.60 | 351.68 | 769.55 | 25.05 |
-| Выч. потенциалов скорости | 0.02 | 0.01 | 0.02 | 0.01 | 0.01 |
+| Определение коэффициентов | 0.02 | 0.01 | 0.19 | 0.01 | 1.19 |
+| Проверка модели | 0.08 | 0.10 | | 0.08 | |
+| Генерация поверхности | 1.26 | 5.57 | 350.98 | 769.38 | 0.02 |
+| НБП | 7.11 | 7.43 | | 0.02 | |
+| Копирование данных с GPU | | | | 5.22 | 25.06 |
+| Выч. потенциалов скорости | 0.05 | 0.05 | 0.06 | 0.03 | 0.03 |
+| Запись вывода в файл | 0.27 | 0.27 | 0.27 | 0.28 | 0.27 |
#+END_SRC
Кроме выбора стандарта параллельных вычислений на время работы программы влияет
diff --git a/arma-thesis.org b/arma-thesis.org
@@ -1,5 +1,4 @@
# Local Variables:
-# org-ref-default-bibliography ("bib/refs.bib")
# org-latex-image-default-width nil
# org-latex-caption-above nil
# org-latex-hyperref-template "\\hypersetup{\n pdfauthor={%a},\n pdftitle={%t},\n pdfkeywords={%k},\n pdfsubject={%d},\n pdfcreator={%c},\n pdflang={%L},\n unicode={true}\n}\n\\setdefaultlanguage{%l}\n"
@@ -1206,7 +1205,7 @@ fi
cd $dir
git checkout master
git pull
-git checkout 63075156c65bdb2c6cafca70518f94b2b69a2315
+git checkout f5d212bbd9da472f3b8e08ae5ddc44a20e3d7966
#+end_src
#+RESULTS:
@@ -3566,9 +3565,10 @@ small fraction of it.
| Blitz\nbsp{}cite:veldhuizen1997will,veldhuizen2000techniques | multidimensional arrays |
| GSL\nbsp{}cite:gsl2008scientific | PDF, CDF, FFT computation |
| | checking process stationarity |
+| clFFT\nbsp{}cite:clfft | FFT computation |
| LAPACK, GotoBLAS\nbsp{}cite:goto2008high,goto2008anatomy | finding AR coefficients |
| GL, GLUT\nbsp{}cite:kilgard1996opengl | three-dimensional visualisation |
-| CGAL\nbsp{}cite:fabri2009cgal | wave numbers triangulation |
+| CGAL\nbsp{}cite:fabri2009cgal | wave numbers interpolation |
AR model exhibits the best performance in OpenMP and the worst performance in
OpenCL implementations, which is also the best and the worst performance across
@@ -3619,6 +3619,9 @@ row_names <- list(
determine_coefficients="Determine coefficients",
validate="Validate model",
generate_surface="Generate wavy surface",
+ nit="NIT",
+ write_all="Write output to files",
+ copy_to_host="Copy data from GPU",
velocity="Compute velocity potentials"
)
arma.print_openmp_vs_opencl(model_names, row_names)
@@ -3631,10 +3634,13 @@ arma.print_openmp_vs_opencl(model_names, row_names)
| | | | OpenMP | | OpenCL |
| \orgcmidrule{2-4}{5-6}Subroutine | AR | MA | LH | AR | LH |
|----------------------------------+------+------+--------+--------+--------|
-| Determine coefficients | 0.02 | 0.01 | 0.18 | 0.02 | 1.19 |
-| Validate model | 0.09 | 0.11 | | 0.08 | |
-| Generate wavy surface | 1.26 | 5.60 | 351.68 | 769.55 | 25.05 |
-| Compute velocity potentials | 0.07 | 0.06 | 0.06 | 0.03 | 0.03 |
+| Determine coefficients | 0.02 | 0.01 | 0.19 | 0.01 | 1.19 |
+| Validate model | 0.08 | 0.10 | | 0.08 | |
+| Generate wavy surface | 1.26 | 5.57 | 350.98 | 769.38 | 0.02 |
+| NIT | 7.11 | 7.43 | | 0.02 | |
+| Copy data from GPU to host | | | | 5.22 | 25.06 |
+| Compute velocity potentials | 0.05 | 0.05 | 0.06 | 0.03 | 0.03 |
+| Write output to files | 0.27 | 0.27 | 0.27 | 0.28 | 0.27 |
In contrast to AR model, LH model exhibits the best performance on GPU and the
worst performance on CPU. The reasons for that are