arma-thesis

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

commit aceeacebfcc363ff7d1fe1f3dcd584d0b842c9d2
parent 7c5486490554694e03531d6acd734d7eec70d999
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Wed,  1 Nov 2017 14:37:33 +0300

Edit p6.

Diffstat:
arma-thesis-ru.org | 12++++++++++++
arma-thesis.org | 29+++++++++++------------------
2 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org @@ -2176,6 +2176,18 @@ arma.plot_io_events(names) четырехмерной сетки \((t,x,y,z)\). Между запусками программы изменялся размер сетки по оси \(x\). +В реализациях используются разные библиотеки БПФ: GNU Scientific Library +(GSL)\nbsp{}cite:galassi2015gnu для OpenMP и clFFT\nbsp{}cite:clfft для OpenCL. +Подпрограммы БПФ из этих библиотек отличаются друг от друга. +- Порядок частот в БПФ у обоих библиотек разный. В случае clFFT элементы + результирующего массива дополнительно сдвигаются, чтобы соответствовать + корректному полю потенциала скорости. В случае GSL никакого сдвига не + требуется. +- Разрыв в точках сетки \((x,y)=(0,0)\) обрабатывается библиотекой clFFT + автоматически, в то время как библиотека GSL выдает искаженные значения в этой + точке, поэтому с случае GSL значения в этих точках интерполируются. +Другие отличия подпрограмм БПФ, влияющие на производительность, не были +найдены. **** Производительность OpenCL-решателя, вычисляющего поле потенциала скорости. **** Заключение. diff --git a/arma-thesis.org b/arma-thesis.org @@ -2129,24 +2129,17 @@ computed for one \(t\) point, for 128 \(z\) points below wavy surface and for each \(x\) and \(y\) point of four-dimensional \((t,x,y,z)\) grid. Between programme runs the size of the grid along \(x\) dimension was varied. -A different FFT library was used for each version of the solver: GNU Scientific -Library (GSL)\nbsp{}cite:galassi2015gnu for OpenMP and clFFT -library\nbsp{}cite:clfft for OpenCL. There are two major differences in the -routines from these libraries. -- The order of frequencies in Fourier transforms is different and clFFT library - requires reordering the result of\nbsp{}eqref:eq-phi-linear whereas GSL does - not. -- Discontinuity at \((x,y)=(0,0)\) of velocity potential field grid is handled - automatically by clFFT library, whereas GSL library produce skewed values at - this point. -For GSL library an additional interpolation from neighbouring points was used to -smooth velocity potential field at these points. We have not spotted other -differences in FFT implementations that have impact on the overall performance. - -In the course of the numerical experiments we have measured how much time each -solver's implementation spends in each computation stage to explain find out how -efficient data copying between host and device is in OpenCL implementation, and -how one implementation corresponds to the other in terms of performance. +A different FFT library was used for each implementation: GNU Scientific Library +(GSL)\nbsp{}cite:galassi2015gnu for OpenMP and clFFT\nbsp{}cite:clfft for +OpenCL. FFT routines from these libraries are different: +- The order of frequencies in FFT is different. In case of clFFT library + elements of the resulting array are additionally shifted to make it correspond + to the correct velocity potential field. In case of GSL no shift is needed. +- Discontinuity at \((x,y)=(0,0)\) is handled automatically by clFFT library, + whereas GSL library produce skewed values at this point, thus in case of GSL + these points are interpolated. +Other differences of FFT subroutines, that have impact on performance, were not +found. **** Performance of velocity potential OpenCL solver. :PROPERTIES: