arma-thesis

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

commit da7fbe0282f272b32f31b4369e363440ceb927e0
parent 920351d2671090399cd19157132d29aa370d6c21
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Tue, 31 Oct 2017 19:31:35 +0300

Edit pX.

Diffstat:
arma-thesis-ru.org | 23+++++++++++++++++++++++
arma-thesis.org | 20++++++++++----------
2 files changed, 33 insertions(+), 10 deletions(-)

diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org @@ -2025,6 +2025,29 @@ arma.print_openmp_vs_opencl(model_names, row_names) | Выч. потенциалов скорости | 0.05 | 0.05 | 0.06 | 0.03 | 0.03 | | Запись вывода в файл | 0.27 | 0.27 | 0.27 | 0.28 | 0.27 | +В отличие от модели АР, модель ЛХ показывает наибольшую производительность на +видеокарте и наименьшую производительность на центарльном процессоре. Причиной +этому служат +- большое количество транцендентных функций в ее формуле, которые компенсируют + высокие задержки памяти, +- линейный шаблон доступа к памяти, который позволяет векторизовать вычисления и + объединить операции доступа к памяти из разных потоков, и +- отсутствие информационных зависимостей между точками взволнованной + поверхности. +Несмотря на то что видеокарта на тестовой системе более производительна, чем +центральный процессор (с точки зрения операций с плавающей точкой в секунду), +общая производительность модели ЛХ по сравнению с моделью АР меньше. Причиной +этого служит межленная передача данных между памятью видеоркарты и центрального +процессора. + +Модель СС быстрее, чем модель ЛХ, но медленнее, чем модель АР. Поскольку свертка +в ее формуле реализована с помощью БПФ, ее производительность зависит от +производительности реализации БПФ: библиотека GSL для процессора и clFFT для +видеокарты. В данной работе производительность модели СС на видеокарте не была +протестирована ввиду недоступности трехмерного БПФ в библиотеке clFFT; если бы +преобразование было доступно, оно могло бы сделать модель даже более быстрой, +чем АР. + **** Производительность ввода-вывода. **** Параллельное вычисление поля потенциала скорости. **** Производительность OpenCL-решателя, вычисляющего поле потенциала скорости. diff --git a/arma-thesis.org b/arma-thesis.org @@ -1988,22 +1988,22 @@ arma.print_openmp_vs_opencl(model_names, row_names) In contrast to AR model, LH model exhibits the best performance on GPU and the 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 - memory accesses by different hardware threads, -- and no information dependencies between output grid points. -Despite the fact that GPU on the test platform is more performant than CPU (in +- the large number of transcendental functions in its formula which offset high + memory latency, +- linear memory access pattern which allows to vectorise calculations and + coalesce memory accesses by different hardware threads, and +- no information dependencies between wavy surface points. +Despite the fact that GPU on the test system is more performant than CPU (in terms of floating point operations per second), the overall performance of LH model compared to AR model is lower. The reason for that is slow data transfer between GPU and CPU memory. -The last MA model is faster than LH and slower than AR. As the convolution in +MA model is faster than LH model and slower than AR model. As the convolution in its formula is implemented using FFT, its performance depends on the performance -of underlying FFT implementation: GSL for CPU and clFFT for GPU. In this work +of FFT implementation: библиотека GSL for CPU and clFFT for GPU. In this work performance of MA model on GPU was not tested due to unavailability of the -three-dimensional transform in clFFT library; if the transform was available, it -could made the model even faster than AR. +three-dimensional FFT in clFFT library; if the transform was available, it could +made the model even faster than AR. NIT takes less time on GPU and more time on CPU, but taking data transfer between CPU and GPU into consideration makes their execution time comparable.