Procedural code integration in streaming environments
Název práce v češtině: | Integrace procedurálního kódu do proudových paralelních systémů |
---|---|
Název v anglickém jazyce: | Procedural code integration in streaming environments |
Klíčová slova: | programovací prostředky; paralelní výpočty |
Klíčová slova anglicky: | programming environments; parallel computing |
Akademický rok vypsání: | 2013/2014 |
Typ práce: | disertační práce |
Jazyk práce: | angličtina |
Ústav: | Katedra softwarového inženýrství (32-KSI) |
Vedoucí / školitel: | RNDr. David Bednárek, Ph.D. |
Řešitel: | skrytý - zadáno a potvrzeno stud. odd. |
Datum přihlášení: | 27.09.2013 |
Datum zadání: | 27.09.2013 |
Datum potvrzení stud. oddělením: | 05.02.2014 |
Datum a čas obhajoby: | 11.06.2018 10:30 |
Datum odevzdání elektronické podoby: | 18.12.2017 |
Datum odevzdání tištěné podoby: | 15.12.2017 |
Datum proběhlé obhajoby: | 11.06.2018 |
Oponenti: | Prof. Dr. Andreas Krall |
Ing. Ivan Šimeček, Ph.D. | |
Zásady pro vypracování |
Software engineering leaders repeatedly express alarm about the inability of the software industry to extract the full power of today's computing hardware. Studies show that an average programmer produces code 20- to 50-times slower than the code created by an expert programmer specialized in parallel programming. This gap is caused by the inherent complexity of parallel programming, the algorithmic complexity of code optimization, and also by the absence of suitable parallel programming languages or programming environments in general.
On the other hand, there are domains where non-expert programmers are able to produce competitive parallel code, like numerical mathematics working around FORTRAN or electronic design based on SystemC. This fact suggests that parallel-programming environments shall be tailored for individual application domains. This thesis is focused on experiments with parallel-programming languages and environments in the area of scientific computing. While the numerical part of the area is solved sufficiently, there are many other domains where the scientific software, created by experts in the domain but non-experts in parallel programming, still suffers from the abovementioned performance gap. For instance, the machine learning area attracts many experimenters who may be experts in the area of a particular machine-learning approach like genetic algorithms or decision trees but lack the necessary deep knowledge in parallel computing. The goal of this thesis is the estimation of the typical performance gap in selected scientific computing domains, reengineering selected methods of the domains using various parallel-programming methodologies, comparing their effectiveness, and tailoring parallel-programming environments for the domains. |
Seznam odborné literatury |
Nadathur Satish, Changkyu Kim, Jatin Chhugani, Hideki Saito, Rakesh Krishnaiyer, Mikhail Smelyanskiy, Milind Girkar, and Pradeep Dubey. 2012. Can traditional programming bridge the Ninja performance gap for parallel computing applications?. In Proceedings of the 39th Annual International Symposium on Computer Architecture (ISCA '12). IEEE Computer Society, Washington, DC, USA, 440-451.
Kaushik Datta. 2009. Auto-Tuning Stencil Codes for Cache-Based Multicore Platforms. Ph.D. Dissertation. University of California at Berkeley, Berkeley, CA, USA. Advisor(s) Katherine A. Yelick. AAI3411221. Roland Leißa, Sebastian Hack, and Ingo Wald. 2012. Extending a C-like language for portable SIMD programming. In Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming (PPoPP '12). ACM, New York, NY, USA, 65-74. DOI=10.1145/2145816.2145825 http://doi.acm.org/10.1145/2145816.2145825 |