discussion.tex (3429B)
1 \section{DISCUSSION} 2 3 In the course of research, deep neural network learning has been tested on a variety of computer architectures. Results are shown on Table~\ref{tab:workload-2}. The MIC version does not increase performance compared to parallel version of the processor. It is affected by many factors associated with particular properties of the algorithm and limitations placed on the task. Algorithm iteration leaves little potential for parallelization. Optimization is only possible on each step associated with calculations on matrix. Compared to the sequential version, MIC architecture-based acceleration is 13.5 faster, which correlates with other research~\cite{dnn-xeon-phi-thesis,dnn-xeon-phi-finance}. On a side note, the coprocessor native-mode has not been considered: when the whole code is launched on the coprocessor without the main processor application. Presumably, that will allow an improved acceleration, but this question remains an open ground for further research. 4 5 6 %почему неявная модель лучше явной. вообще, это наверно лучше в discussion, но я хз как логически нормально туда это вставить. 7 8 % Выбор используемой схемы работы с памятью зависит в первую очередь от характера передаваемых данных. 9 % Явная модель хорошо подходит для передачи непрерывных блоков данных. Она предоставляет много инструментов для управления передачей данных, но их использование зависит от программиста. При работе со сложными структурами, ручное управление становится слишком сложным и не позволяет достичь оптимального результата. 10 % При использовании неявной модели ответственность за управление передачей данных берет на себя машина. Данные, помещённые в разделяемую память автоматически синхронизируются в начале и в конце offload секции, если они были изменены. Эта модель проста в управлении и позволяет достичь оптимальной скорости при работе со сложными структурами данных. 11 12 13 The choice of data transfer model depends on the nature of the data that needs to be copied to the device. Explicit model is good enough for copying contiguous data block. The model provides many options to control data transfer which are manually selected by a programmer. However, manual copying is difficult to manage for complex structures with many fields and does not allow to send only those parts of arrays that were changed since the last transfer. In case of implicit model, it is the system that takes responsibility for managing data transfer. Changes to data residing in shared memory are synchronized automatically on entering and leaving offload region. So, this model is preferable for complex data structures and for structures with unpredictable or complex memory access pattern.