Bachelor thesis
Dominik Simek xsimek23@stud.fit.vutbr.cz
FIT VUT 2015
This thesis is dedicated to the implementation of high performance algorithms on the Intel Xeon Phi coprocessor. The Xeon phi was introduced by Intel as a new MIC (Many Integrated Core) architecture in 2012. The theoretical part of the thesis is focused on the architecture of the coprocessor (with peak performance of 2 tFLOPS for a single precision data) and on the procedure of algorithms implementation and optimization. The theoretical knowledge is then applied to a practical examples with demonstration of the implementation and the optimization of algorithms and work with the coprocessor. In the practical part of the thesis, simple benchmarks such as a vector matrix multiplication and a matrix multiplication are explained and implemented. In the first benchmark 6.5% of theoretical coprocessor performance was achieved, in the second it was much more. In following chapter a more complex benchmark,--,simulation of a particles system (N-Body), that reached more than 35% of coprocessor performance (725 gFLOPS), is discussed. The following section is dedicated to some interesting problems such as optimization of a MATLAB module k-Wave (propagation of the ultrasound waves), extraction of I-vector (speech processing), cross-compilation of existing libraries, modules and programs. In the conclusion of the thesis the usage the potential of the Intel Xeon Phi is evaluated.
-.
|-cross-compilation/
|-Doxyfile
|-fft-mkl/
|-matmul/
|-matvec/
|-nbody/
|-python-mkl/
|-README.md
|-text/
-
cross-compilation:
- the directory contains a instructions to the cross-compilation of the libraries HDF5, SZIP, ZLIB and GNU MAKE
- see cross-compilation/README.md for more informations
-
doc:
- the directory contains a html documentation (doxygen)
- and the manual refman-XeonPhi.pdf (also generated by doxygen)
-
fft-mkl:
- the directory contains the source code of a test of fft routines from the Intel MKL on the MIC
- see fft-mkl/README.md for more informations
-
matmul:
- the directory contains the source code of the matrix multiplication (MKL)
- see matmul/README.md for more informations
-
matvec:
- the directory contains the source code of the matrix vector multiplication
- see matvec/README.md for more informations
-
nbody:
- the directory contains the source code of the N-Body simulation
- see nbody/README.md for more informations
-
python-mkl:
- the directory contains the source code of the DGEMM (Python modules Numpy and Scipy lined with MKL)
- see python-mkl/README.md for more informations
-
text:
- Latex source code of the thesis