commit aceeacebfcc363ff7d1fe1f3dcd584d0b842c9d2
parent 7c5486490554694e03531d6acd734d7eec70d999
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Wed, 1 Nov 2017 14:37:33 +0300
Edit p6.
Diffstat:
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: