Документ взят из кэша поисковой машины. Адрес оригинального документа : http://engineering.phys.msu.ru/en/branches/second-year-students-classes/parallel-programming?tmpl=component&print=1&page=
Дата изменения: Mon Apr 11 22:41:33 2016
Дата индексирования: Mon Apr 11 22:41:33 2016
Кодировка: UTF-8
Parallel Programming
Print

Description

This course is dedicated to the main principles, methods and techniques of parallel programming oriented at resolution of resource-intensive tasks physically and in non-linear optics in particular. The course offers profound description of popular techniques of parallel programming such as OpenMP and MPI. Practical classes are conducted with the help a teaching cluster, which contains 14 Intel Xeon-based processors.

The course?s ultimate point is an individual project made which encompasses all the material. The given course gives students an excellent opportunity for further growth at the forefront of science.

Introduction

Modern scientific and applied research in the field of physics often requires large-scale resource-intensive computations. Rapid growth of productivity of the modern computing systems is achieved by using parallel processors and multicore systems. Though traditional supercomputers with their original structure considerably increase the productivity of the computations, their high cost is a significant disadvantage, especially in comparison with cluster systems. Along side with its considerably low cost, productivity of a cluster system remains quite high in a wide specter of tasks. For instance, according to the latest list of the world?s most powerful computers (www.top500.org), 81% of the most productive computational systems of the world are of cluster technology with standard computational nodes. At the same time a standard computational node has long ceased to be a single-process machine, and efficient use of multiprocessor/multi-core architecture for the solution of a resource-intensive problem depends on the applied development tools and methods of parallelization. OpenMP, which is supported by all modern compilers, has in fact become standard in research-intensive applications.

The main goal of the given course is to motivate students of physics to apply ?parallel thinking? when working on a computational solution of a problem in physics; this course also aims at providing students with techniques and skills to ?parallelize? tasks. As not every task can be successfully parallelized, the course draws special attention to analysis of possible problems in physics and algorithms of their possible solution, which do not allow parallel use of several cluster nodes. Practical classes on a teaching cluster and a modern supercomputer will allow students to acquire skills of remote use of powerful computing resources, which will widen the perspective of a scientific investigation.

Acquired knowledge and skills

As a result, by the and this course, students acquire knowledge about the popular parallel programming techniques, knowledge of modern high-performance computing systems and practical skills to work with them.

Education technology

The course has electronic version of the educational materials. Practical classes are conducted in the rooms with the modern network projection equipment.

Software and online resources

Assessment

Syllabus

Section

3rd semester, week #

Overview of the technology of parallel computing.

1

Introduction to the architecture of high-performance systems.

2

Linux operating system

3-5

Introduction to technology of parallel programming

6

OpenMP technology

7-9

MPI (message passing interface)

10-12

Working on an individual task using MPI

13-17

Fail/pass Exam.

18

љ

4th semester, week #

Selecting solutions methods for the coursework and developing a functional structure of the programme.

1

Working on a course project: developing functional blocks of the programme, running tests, checking interaction between the blocks, demonstrating basic functionality of the developing programme. Consultations.

2-6

Midterm assessment.

7

Coursework: debugging and functionality increment. Consultations.

8-15

Coursework presentation and defense. Examination.

16

Reference