arma-thesis

git clone https://git.igankevich.com/arma-thesis.git
Log | Files | Refs | LICENSE

commit 2a32506160da3c9a32691bc72cee2e734844733e
parent 31d4e557add27b9fc2dbdf74691791c75f26da13
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Mon,  7 Aug 2017 13:46:48 +0300

Update to the latest version of benchmarks.

Diffstat:
R/benchmarks.R | 3++-
arma-thesis-ru.org | 16++++++++--------
arma-thesis.org | 26++++++++++++--------------
3 files changed, 22 insertions(+), 23 deletions(-)

diff --git a/R/benchmarks.R b/R/benchmarks.R @@ -11,6 +11,7 @@ arma.load_benchmark_data <- function(framework, models, tags) { values <- arma.load( file.path("build", "arma-benchmarks", "output"), "gpulab1", + "a2", 10000, framework, m, @@ -31,7 +32,7 @@ arma.print_openmp_vs_opencl <- function(model_names, row_names) { models <- c("ar", "ma", "lh"); frameworks <- c("openmp", "opencl") tags <- list( - "deteremine_coefficients", + determine_coefficients=c("deteremine_coefficients", "determine_coefficients"), "validate", "generate_surface", velocity=c("window_function", "second_function", "fft", "dev_to_host_copy") diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org @@ -2629,7 +2629,7 @@ model_names <- list( Row.names="\\orgcmidrule{2-4}{5-6}Подпрограмма" ) row_names <- list( - deteremine_coefficients="Определение коэффициентов", + determine_coefficients="Определение коэффициентов", validate="Проверка модели", generate_surface="Генерация поверхности", velocity="Выч. потенциалов скорости" @@ -2642,13 +2642,13 @@ arma.print_openmp_vs_opencl(model_names, row_names) #+attr_latex: :booktabs t #+RESULTS: tab-arma-performance #+BEGIN_SRC org -| | | | OpenMP | | OpenCL | -| \orgcmidrule{2-4}{5-6}Подпрограмма | АР | СС | ЛХ | АР | ЛХ | -|------------------------------------+------+-------+--------+--------+--------| -| Определение коэффициентов | 0.02 | 0.26 | 0.18 | 0.01 | 1.19 | -| Проверка модели | 0.09 | 19.19 | | 0.08 | | -| Генерация поверхности | 1.29 | 10.12 | 351.67 | 769.42 | 25.09 | -| Выч. потенциалов скорости | 0.02 | 0.02 | 0.02 | 0.01 | 0.01 | +| | | | 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 | #+END_SRC Кроме выбора стандарта параллельных вычислений на время работы программы влияет diff --git a/arma-thesis.org b/arma-thesis.org @@ -1206,15 +1206,12 @@ fi cd $dir git checkout master git pull -git checkout 46acdd0ebdbbd7a5ca50b76e7af19997d8f09f1d +git checkout 5c07dd4b6a334cc869e81588b2a2a772d6b85e43 #+end_src #+RESULTS: : Ваша ветка обновлена в соответствии с «origin/master». -: Обновление c230b96..46acdd0 -: Fast-forward -: R/arma.load.R | 12 +++++++++--- -: 1 file changed, 9 insertions(+), 3 deletions(-) +: Already up-to-date. * Introduction **** Topic relevance. @@ -3540,7 +3537,7 @@ model_names <- list( Row.names="\\orgcmidrule{2-4}{5-6}Subroutine" ) row_names <- list( - deteremine_coefficients="Determine coefficients", + determine_coefficients="Determine coefficients", validate="Validate model", generate_surface="Generate wavy surface", velocity="Compute velocity potentials" @@ -3553,17 +3550,17 @@ arma.print_openmp_vs_opencl(model_names, row_names) #+attr_latex: :booktabs t #+RESULTS: tab-arma-performance #+BEGIN_SRC org -| | | | OpenMP | | OpenCL | -| \orgcmidrule{2-4}{5-6}Subroutine | AR | MA | LH | AR | LH | -|----------------------------------+------+-------+--------+--------+--------| -| Determine coefficients | 0.02 | 0.26 | 0.18 | 0.01 | 1.19 | -| Validate model | 0.09 | 19.19 | | 0.08 | | -| Generate wavy surface | 1.29 | 10.12 | 351.67 | 769.42 | 25.09 | -| Compute velocity potentials | 0.02 | 0.02 | 0.02 | 0.01 | 0.01 | +| | | | 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.02 | 0.01 | 0.02 | 0.01 | 0.01 | #+END_SRC In contrast to AR model, LH model exhibits the best performance on GPU and the -worst performance on GPU. The reasons for that are +worst performance on CPU. The reasons for that are - the large number of transcendental functions in its formula which help offset high memory latency, - linear memory access pattern which help vectorise calculations and coalesce @@ -3576,6 +3573,7 @@ coefficients needed for LH model to discretise spectrum and eliminate periodicity from the realisation. + **** Performance of load balancing algorithm. Software implementation of wavy surface generation is balanced in terms of the load on processor cores, however, as shown by tests, has high load on storage