arma-thesis

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

commit bcf4af82c8043085fb84bfa3f61000f12ea9a075
parent 3758e24c4b8c2013fa2f6d4b4b8bdfee70fee017
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Wed, 15 Nov 2017 12:17:47 +0300

Check tables.

Diffstat:
arma-thesis-ru.org | 44+++++++++++++++++++++++---------------------
arma-thesis.org | 38++++++++++++++++++++------------------
2 files changed, 43 insertions(+), 39 deletions(-)

diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org @@ -978,7 +978,7 @@ legend( #+name: fig-nit #+header: :width 7 :height 7 -#+begin_src R :file build/nit.pdf +#+begin_src R :file build/nit-ru.pdf source(file.path("R", "nonlinear.R")) par(mfrow=c(2, 1), mar=c(4,4,4,0.5), family='serif') args <- list( @@ -996,7 +996,7 @@ arma.plot_nonlinear(file.path("build", "nit-standing"), args) #+caption: Срезы взволнованной поверхности с различными распределениями #+caption: волновых аппликат (Гауссово, РГШ и асимметричное нормальное). #+RESULTS: fig-nit -[[file:build/nit.pdf]] +[[file:build/nit-ru.pdf]] #+name: tab-nit-error #+caption[Ошибки аппроксимации АКФ]: @@ -1945,13 +1945,13 @@ arma.plot_ramp_up_interval(label="Интервал разгона") #+caption[Конфигурация системы "Gpulab"]: #+caption: Конфигурация системы "Gpulab". #+attr_latex: :booktabs t -| Процессор | AMD FX-8370 | -| Память процессора | 16ГБ | -| Видеокарта | GeForce GTX 1060 | -| Память видеокарты | 6ГБ | -| Жесткий диск | WDC WD40EZRZ-00WN9B0, 5400об./мин. | -| Количество процессорных ядер | 4 | -| Количество потоков на ядро | 2 | +| Процессор | AMD FX-8370 | +| Память процессора | 16ГБ | +| Видеокарта | GeForce GTX 1060 | +| Память видеокарты | 6ГБ | +| Жесткий диск | WDC WD40EZRZ, 5400об./мин. | +| Количество процессорных ядер | 4 | +| Количество потоков на ядро | 2 | Программная реализация использует несколько библиотек математических функций, численных алгоритмов и примитивов визуализации (перечисленных в @@ -2162,7 +2162,7 @@ arma.print_sync_vs_async_io(suffix_names, row_names, top_names, mark=",") | Запись вывода в файл | 0.28 | 2.34 | 10.95 | 0.00 | 0.00 | 0.00 | #+name: fig-arma-io-events -#+header: :width 5 :height 6 :results output graphics +#+header: :width 6 :height 7 :results output graphics #+begin_src R :file build/arma-io-events-ru.pdf source(file.path("R", "benchmarks.R")) par(family="serif") @@ -2170,7 +2170,7 @@ names <- list( xlab="Время, сек.", ylab="Поток" ) -par(mfrow=c(3,1), family="serif") +par(mfrow=c(3, 1), mar=c(4,4,4,0.5), family='serif') arma.plot_io_events(names) #+end_src @@ -2316,24 +2316,24 @@ routine_names <- list( harts_fft="БПФ", harts_copy_to_host="Копирование данных с видекарты" ) -column_names <- c("Подпрограмма", "Время OpenMP, сек.", "Время OpenCL, сек.") +column_names <- c("Подпрограмма", "OpenMP", "OpenCL") data <- arma.load_realtime_data() arma.print_table_for_realtime_data(data, routine_names, column_names) #+end_src #+name: tab-arma-realtime #+caption[Производительность вычисления поля потенциала скорости]: -#+caption: Время работы подпрограмм вычисления поля потенциала скорости +#+caption: Время работы (сек.) подпрограмм вычисления поля потенциала скорости #+caption: в реальном времени для взволнованной поверхности (размер по #+caption: \(OX\) равен 16384). #+attr_latex: :booktabs t #+RESULTS: tab-arma-realtime -| Подпрограмма | Время OpenMP, сек. | Время OpenCL, сек. | -|---------------------------------+--------------------+--------------------| -| Функция \(g_1\) | 4.6730 | 0.0038 | -| Функция \(g_2\) | 0.0002 | 0.8253 | -| БПФ | 2.8560 | 0.3585 | -| Копирование данных с видеокарты | | 2.6357 | +| Подпрограмма | OpenMP | OpenCL | +|--------------------------------+--------+--------| +| Функция \(g_1\) | 4.6730 | 0.0038 | +| Функция \(g_2\) | 0.0002 | 0.8253 | +| БПФ | 2.8560 | 0.3585 | +| Копирование данных с видекарты | | 2.6357 | Как и ожидалось, совместное использование одного буфера контекстами OpenCL и OpenGL увеличивает производительность путем исключения копирования данных между @@ -2746,7 +2746,7 @@ downstream-объектов. Это означает, что если решае digraph { node [fontname="Old Standard"fontsize=14,margin="0.055,0"] - graph [nodesep="0.25",ranksep="0.25",rankdir="TB"] + graph [nodesep="0.25",ranksep="0.25",rankdir="TB",margin=0] edge [arrowsize=0.66] # data @@ -2767,6 +2767,7 @@ digraph { labeljust=left style=filled color=lightgrey + graph [margin=8] acf2 [label="K*(i,j,k)",shape=box] transform_acf [label="Преобразование АКФ",shape=box,style=rounded] } @@ -2813,6 +2814,7 @@ digraph { labeljust=right style=filled color=lightgrey + graph [margin=8] zeta3_parts [label="<g1> ζ₁|<g2> ζ₂|<g3> …|<g4> ζₙ|<gen> ζ(t,x,y)",shape=record] transform_zeta [label="<g1> g₁|<g2> g₂|<g3> …|<g4> gₙ|<gen> Преобразование за-\lкона распределения\lвзволнованной мор-\lской поверхности\l",shape=record,style=rounded] } @@ -3070,7 +3072,7 @@ digraph { #+caption[Древовидная иерархия для кластера из 11 узлов]: #+caption: Древовидная иерархия для кластера из 11 узлов со #+caption: значением ветвления 2. Красными стрелками обозначен порядок -#+caption: обхода иерархии узлом с IP-адресом ~10.0.0.10~. +#+caption: обхода иерархии узлом с IP-адресом 10.0.0.10. #+name: fig-tree-hierarchy-11 #+RESULTS: fig-tree-hierarchy-11 [[file:build/tree-hierarchy-11-ru.pdf]] diff --git a/arma-thesis.org b/arma-thesis.org @@ -1895,13 +1895,13 @@ periodicity allows to use far fewer coefficients compared to LH model. #+caption["Gpulab" system configuration]: #+caption: "Gpulab" system configuration. #+attr_latex: :booktabs t -| CPU | AMD FX-8370 | -| RAM | 16Gb | -| GPU | GeForce GTX 1060 | -| GPU memory | 6GB | -| HDD | WDC WD40EZRZ-00WN9B0, 5400rpm | -| No. of CPU cores | 4 | -| No. of threads per core | 2 | +| CPU | AMD FX-8370 | +| RAM | 16Gb | +| GPU | GeForce GTX 1060 | +| GPU memory | 6GB | +| HDD | WDC WD40EZRZ, 5400rpm | +| No. of CPU cores | 4 | +| No. of threads per core | 2 | Software implementation uses several libraries of mathematical functions, numerical algorithms and visualisation primitives (listed in @@ -2109,7 +2109,7 @@ names <- list( xlab="Time, s", ylab="Thread" ) -par(mfrow=c(3,1), family="serif") +par(mfrow=c(3, 1), mar=c(4,4,4,0.5), family='serif') arma.plot_io_events(names) #+end_src @@ -2249,23 +2249,23 @@ routine_names <- list( harts_fft="FFT", harts_copy_to_host="Copy data from GPU" ) -column_names <- c("Subroutine", "OpenMP time, s", "OpenCL time, s") +column_names <- c("Subroutine", "OpenMP", "OpenCL") data <- arma.load_realtime_data() arma.print_table_for_realtime_data(data, routine_names, column_names) #+end_src #+name: tab-arma-realtime #+caption[Velocity potential calculation performance]: -#+caption: Running time of real-time velocity potential calculation subroutines +#+caption: Running time (s.) of real-time velocity potential calculation subroutines #+caption: for wavy surface (OX size equals 16384). #+attr_latex: :booktabs t #+RESULTS: tab-arma-realtime -| Subroutine | OpenMP time, s | OpenCL time, s | -|--------------------+----------------+----------------| -| \(g_1\) function | 4.6730 | 0.0038 | -| \(g_2\) function | 0.0002 | 0.8253 | -| FFT | 2.8560 | 0.3585 | -| Copy data from GPU | | 2.6357 | +| Subroutine | OpenMP | OpenCL | +|--------------------+--------+--------| +| \(g_1\) function | 4.6730 | 0.0038 | +| \(g_2\) function | 0.0002 | 0.8253 | +| FFT | 2.8560 | 0.3585 | +| Copy data from GPU | | 2.6357 | As expected, sharing the same buffer between OpenCL and OpenGL contexts increases overall solver performance by eliminating data transfer between CPU @@ -2652,7 +2652,7 @@ which control objects flow. digraph { node [fontname="Old Standard",fontsize=14,margin="0.055,0"] - graph [nodesep="0.25",ranksep="0.25",rankdir="TB"] + graph [nodesep="0.25",ranksep="0.25",rankdir="TB",margin=0] edge [arrowsize=0.66] # data @@ -2673,6 +2673,7 @@ digraph { labeljust=left style=filled color=lightgrey + graph [margin=8] acf2 [label="K*(i,j,k)",shape=box] transform_acf [label="Transform ACF",shape=box,style=rounded] } @@ -2719,6 +2720,7 @@ digraph { labeljust=right style=filled color=lightgrey + graph [margin=8] zeta3_parts [label="<g1> ζ₁|<g2> ζ₂|<g3> …|<g4> ζₙ|<gen> ζ(t,x,y)",shape=record] transform_zeta [label="<g1> g₁|<g2> g₂|<g3> …|<g4> gₙ|<gen> Transform wavy\lsurface elevation\lprobability distribution\l",shape=record,style=rounded] } @@ -2962,7 +2964,7 @@ digraph { #+caption[Tree hierarchy for 11 nodes]: #+caption: Tree hierarchy for 11 nodes with fan-out of 2. #+caption: Red arrows denote hierarchy traversal order for a node -#+caption: with IP address ~10.0.0.10~. +#+caption: with IP address 10.0.0.10. #+name: fig-tree-hierarchy-11 #+RESULTS: fig-tree-hierarchy-11 [[file:build/tree-hierarchy-11.pdf]]