Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    High Performance Parallel Computing

    A tantárgy neve magyarul / Name of the subject in Hungarian: Nagyteljesítményű párhuzamos feldolgozás

    Last updated: 2019. április 29.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics
    MSc Computer Engineering
    Course ID Semester Assessment Credit Tantárgyfélév
    VIIIMA06 2 2/1/0/v 4  
    3. Course coordinator and department Dr. Szeberényi Imre,
    Web page of the course iit.bme.hu
    4. Instructors Dr Szeberényi Imre associate professor, Department of Control Engineering and Information Technology
    5. Required knowledge
    Programming, data structures, algorithms, mathematics, operating systems
    6. Pre-requisites
    Kötelező:
    NEM ( TárgyEredmény( "BMEVIIIM141" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIIIM141", "FELVETEL", AktualisFelev()) > 0)

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    Ajánlott:
    C or C++ programming knowledge is required to complete the course.
     
    7. Objectives, learning outcomes and obtained knowledge

    The course introduces the architectural classes of supercomputers that require high-performance computing or simulation and research tasks, as well as the software components and programming languages required for their operation and application. The students of the subject can get acquainted with the network solutions that are used in the most powerful machines (TOP500). Also, they can get acquainted with various accelerators and storage solutions. An important goal of the subject is to provide a comprehensive view of the use, programming, quality control and operation of these systems.

     

    8. Synopsis
    1.       Historical overview. Needs of parallelisation. Basic concepts and classification of parallel architectures. Flynn Model Performance Measurement and Metrics, Benchmarks. Key features of HTC and HPC systems.
    2.       Levels of parallelisation (bit, instruction, pointer). The ideal model of the parallel computer. Architectures and models of parallel computers.
    3.       Practice: Classification and main features of parallel specific HPC systems available on the market and in the academic sphere. TOP 500 review, trends.
    4.       Task / Channel Model and Messaging Based Solutions. PRAM model, algorithm analysis.
    5.       Parallel Algorithm Design, Methods (PCAM).
    6.       Practice: Parallel Random Access Machine (PRAM) model and Partitioning Communication Agglomeration Mapping (PCAM) method examples.
    7.       Exercise Classes. Master-worker, pipeline, task, loop.
    8.       Programming models. Programming languages, environments (Linda, MPI).
    9.       Practice: Sample program in an MFI environment.
    10.    POSIX threads, OpenMP.
    11.    Accelerating processors, accelerator cards and their devices (GPGPU, ClearSpeed, Phi).
    12.    Practice: Paralleling cycles. Presentation of sample examples. Practical examples of SMP architecture.
    13.    Importance and portability of mathematical libraries. Simpler algorithms. Getting to know the Thrust and cuSPARSE libraries.
    14.    Schedules and distributed file systems.
    15.    Practice: BLAS, CUBLAS, MKL libraries with practical examples. It's a simple task using Thrust.
    16.    Paralleling existing codes. Performance Optimization Options. Code Review. Surprising power factors. Cache effect.
    17.    Profiling tools. Modern Processors Profiling Support Mechanisms. Check-point methods, problems and solutions.
    18.    Practice: Presentation of a specific profiling tool.
    19.    Meta-computing, Grid computing, Cloud and HPC / HTC relationship.
    20.    Summary

     

    9. Method of instruction
    The course has theoretical and practical classes. The practical lessons, which are held every two weeks, are presented in practice with 
    the help of a sample program. We have several student seminars, which provides an opportunity to follow the fast-changing subject.

     

    10. Assessment
    a.) Semester period:
        During the semester, attendance is checked at several unexpected times during the semester, and no signatures can be obtained for those who have missed more than 30% of the hours.
        At the pre-announced times, at least 4 control papers will be written and at the 12th week of study (at a pre-agreed time), a large closed class will be written. The writing of the test papers is not mandatory, they make the offer of tickets possible.
    b.) Homework:
        The big homework will be released on week 8, and the solution will be electronically uploaded at the latest before the exam day and presented in the exam.
     
    c.) Signature:
         You can only get a signature who has attended at least 70% of the lessons, and has completed at least a sufficient number of high locks.
     d) Exam:
         The exam is written and oral. The oral part is about presenting the homework and answering the questions about the task. The best 3 supervisor papers on the average reach the 85% level and the high closure result was outstanding and the homework was presented and finished by the end of the term. Qualified, Certified Exam Certificate.

     

    14. Required learning hours and assignment

    Contact hours

       42

    Preparation for contact hours

       10

    Preparation for the midterm

       15

    Homework assignments

       23

    Home readings

         0

    Preparation for the exam

       30

    Total workload

     120