DMI741 Introduction to High Performance Computing Technology CUDA

Code DMI741
Name Introduction to High Performance Computing Technology CUDA
Status Compulsory/Courses of Limited Choice
Level and type Undergraduate Studies, Academic
Field of study Computer Science
Faculty
Academic staff Arnis Lektauers
Credit points 3.0 (4.5 ECTS)
Parts 1
Annotation This study course covers the theoretical and practical principles of high performance computing that are implemented using graphics processing hardware and specialized software. The study course includes an overview of CUDA parallel computing platform architecture based on graphics processors, parallel computing algorithms, application libraries and tools. An in-depth focus is put on the interdisciplinary application of CUDA, for example, in the areas of big data analysis, interoperability with computer graphics, image processing, computational modelling and machine learning. In addition to the theoretical lectures, in the laboratory classes there are provided the opportunities to gain practical skills in the development of information technology solutions using the CUDA technology. .
Contents
Content Full- and part-time intramural studies Part time extramural studies
Contact hours Independent work Contact hours Independent work
Architecture and programming foundations of parallel computing platform CUDA 6 6 0 0
Parallel algorithms in CUDA environment 4 4 0 0
CUDA application libraries and tools 6 6 0 0
CUDA performance optimization methods 2 2 0 0
CUDA interaction with computer graphics 2 2 0 0
CUDA business applications: image processing 2 2 0 0
CUDA business application: numerical modeling 2 2 0 0
CUDA business application: machine learning 4 4 0 0
Implementation of CUDA in a multiprocessor environment 2 2 0 0
CUDA integration in high-level programming languages 2 2 0 0
Lab. task 4 8 0 0
Lab. task “Linear algebra solutions in CUDA environment” 4 8 0 0
Lab. task "Practical application of CUDA based software development technologies" 4 8 0 0
Lab. task "Implementation of image processing and analysis tasks in CUDA environment" 4 16 0 0
Total: 48 72 0 0
Goals and objectives
of the course in terms
of competences and skills
Learning outcomes
and assessment
Able to define, interpret and use professional terminology in the field of graphics processor-based high-performance computing. - Test successfully passed.
Able to develop a software solution based on CUDA technology. - Is able to explain the nature, possibilities, limitations and importance of the use of high-performance computing technologies in certain fields of science and practice.
Able to evaluate the basic ways of developing the proposed high-performance software solution, as well as the limitations of use and optimization options. - During the laboratory work and individual research, the student is able to identify possible solutions and limitations of the given task and offer alternative solutions.
Able to explain the nature, possibilities, limitations and importance of the use of high-performance computing technologies in certain fields of science and practice. - During the exam, the ability to recognize the essence of the formulated thematic questions, as well as to give a concise and correct explanation of the given topics is demonstrated.
Evaluation criteria of study results
Laboratory tasks - 25%
Research task - 25%
Test - 20%
Exam - 30%
 
Course prerequisites Basic knowledge of C / C ++ programming language
Course planning
Part CP ECTS Hours Tests
Lectures Practical Lab. Test Exam Work
1 3.0 4.5 2.0 0.0 1.0 *

[Extended course information PDF]