arma-thesis

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

commit 68d92fa1ffdb5761b68fcf3235c0c93e36c680a4
parent 293408f09316ee55617c9d444f208c08a4820fb2
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Wed,  1 Nov 2017 13:51:57 +0300

Edit p3.

Diffstat:
arma-thesis-ru.org | 18+++++++++++++++++-
arma-thesis.org | 20++++++++++----------
2 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org @@ -1002,13 +1002,15 @@ eqref:eq-solution-2d-full до подставляя результат в eqref:eq-guessed-sol-3d, получаем выражение для \(\phi\): \begin{equation*} + \label{eq-phi-3d} \phi(x,y,z,t) = \InverseFourierY{ \frac{ \Sinh{\smash{2\pi \Kveclen (z+h)}} }{ 2\pi\Kveclen } \frac{ \FourierY{ \zeta_t / \left( i f_1(x,y) + i f_2(x,y) - 1 \right)}{u,v} } { \FourierY{\mathcal{D}_3\left( x,y,\zeta\left(x,y\right) \right)}{u,v} } }{x,y}, \end{equation*} -где \(\FourierY{\mathcal{D}_3\left(x,y,z\right)}{u,v}=\Sinh{\smash{2\pi\Kveclen{}z}}\). +где +\(\FourierY{\mathcal{D}_3\left(x,y,z\right)}{u,v}=\Sinh{\smash{2\pi\Kveclen{}z}}\). ** Моделирование нелинейности морских волн Модель АРСС позволяет учесть асимметричность распределения волновых аппликат, @@ -2138,6 +2140,20 @@ arma.plot_io_events(names) - визуально сравнить размер и форму областей, в которых сконцентрирована основная часть энергии волн, для образовательных целей. +Поскольку визуализация производится на видеокарте, вычисление потенциала +скорости на центральном процессоре может сделать передачу данных между памятью +двух устройств узким местом. Для того чтобы обойти это, программа использует +программный интерфейс взаимодействия OpenCL/OpenGL, позволяющий создавать +буферы, используемые совместно контекстами OpenCL и OpenGL, что исключает +копирование данных между устройствами. Кроме того, формула трехмерного поля +потенциала скорости\nbsp{}eqref:eq-phi-3d особенно подходит для вычисления на +видеокарте: +- она содержит трансцендентные функции (гиперболические косинусы и комплексные + экспоненты); +- она вычисляется на большой четырехмерной области \(t,x,y,z\); +- она явная и не имеет информационных зависимостей между отдельными точками в + измерениях \(t\) и \(z\). + **** Производительность OpenCL-решателя, вычисляющего поле потенциала скорости. **** Заключение. **** Алгоритм распределения нагрузки. :noexport: diff --git a/arma-thesis.org b/arma-thesis.org @@ -2094,17 +2094,17 @@ of wavy surface. Real-time visualisation allows to is concentrated, which for educational purposes. Since visualisation is done by GPU, doing velocity potential computation on CPU -may cause a bottleneck in data transfer between RAM and GPU memory. To -circumvent this, we use OpenCL/OpenGL interoperability API which allows creating -buffers, that are shared between OpenCL and OpenGL contexts thus eliminating -unnecessary copying of data. In addition to this, three-dimensional velocity -potential field formula\nbsp{}eqref:eq-phi-3d is particularly suitable for -computation by GPUs: -- it contains transcendental mathematical functions (hyperbolic cosines and - complex exponents); +may cause data transfer between memory of these two devices to become a +bottleneck. To circumvent this, the programme uses OpenCL/OpenGL +interoperability API which allows creating buffers, that are shared between +OpenCL and OpenGL contexts thus eliminating copying of data between devices. In +addition to this, three-dimensional velocity potential field +formula\nbsp{}eqref:eq-phi-3d is particularly suitable for computation by GPUs: +- it contains transcendental functions (hyperbolic cosines and complex + exponents); - it is computed over large four-dimensional \(t,x,y,z\) region; -- it is analytic with no information dependencies between individual data points - in \(t\) and \(z\) dimensions. +- it is explicit with no information dependencies between individual points in + \(t\) and \(z\) dimensions. These considerations make velocity potential field computation on GPU advantageous in the application to real-time simulation and visualisation of wavy surface.