Welcome,
Guest
.
Login
.
Türkçe
NİNOVA
COURSES
HELP
ABOUT
Where Am I:
Ninova
/
Courses
/
Institute of Informatics
/
HBM 514E
/
Course Informations
Return to Faculty
Home Page
Course Information
Course Weekly Lecture Plan
Course Evaluation Criteria
Course Information
Course Name
Turkish
Koşut Sayısal Algoritmalar ve Araçlar
English
Parallel Numer.Algor.&Tools
Course Code
HBM 514E
Credit
Lecture
(hour/week)
Recitation
(hour/week)
Laboratory
(hour/week)
Semester


3
2

Course Language
English
Course Coordinator
Mustafa Serdar Çelebi
Course Objectives
The goal of the course is to give the students sufficient skills in the area of parallel computing so that they will be able to (i) read and understand descriptions of parallel algorithms, (ii) understand, in general terms, the size of the potential gain in execution time for a given problem when ported to a parallel computer, (iii) choose a suitable parallel algorithm for a given problem, (iv) modify the standard algorithms, described in the course, so that they suit to a given nonstandard problem, (v) write scalable parallel numerical algorithms for the scientific and engineering problems in general sense. We will concentrate upon the messagepassing methods of parallel computing and use some standard parallel computing tools such as MPI (Message Passing Interface), OpenMP and Multilevel Parallel Programming (Hybrid programming) techniques for SMP and Distributed Computer Architectures. Algebraic equations, ODE’s, PDE’s, dense and sparse matrix operations, iterative and direct solution methods for large scale linear set of equations and FFT are rerevisited and their algorithms are reconstructed in terms of parallel programming concepts and tools learned in the course.
Course Description
Science and engineering have undergone a major transformation at the research level as well as at the development and technology levels. The modern scientist and engineer spend more and more time in front of a laptop, a workstation, or a parallel supercomputer and less and less time in the physical laboratory or in the workshop.
In this course, we review and expand the role of parallelism in computing and introduce the parallel numerical programming models that serve as the basis for subsequent discussion of algorithm design, performance analysis, and implementation. We will learn parallel numerical computing techniques and algorithms, and have practical experiences writing parallel programs on a both shared memory and distributed memory computers. We will also focus on how numerical algorithms can be made efficient on these parallel computers.
Course Outcomes
Student will learn how construct a parallel algorithm for a numerical method and scale it at the HPC system. They will develop their paralel programming skills with the MPI and OpenMP based numerical algorithms and conduct experiments on the high end server systems with their own codes.
Prerequisite(s)
HBM513E Course
Required Facilities
Requirement for the students
C/C++ or Fortran
MPI
OpenMP
Interaction level paralel programming experience
Other
Textbook
1) Parallel Programming with MPI, Peter S. Pacheco, Morgan Kaufmann, 1997.
2) Parallel Programming in C with MPI and OpenMP, Michael J. Quinn, Mc Graw Hill, 2003.
3) Computational Mathematics: Models, Methods and Analysis, Robert E. White, Chapman&Hall/CRC, 2004.
4) Using OpenMP, Barbara Chapman et al., MIT press, 2008.
5) Introduction to Parallel Computing, Petersen and Arbenz, Oxford University Press, 2004.
6) Introduction to Parallel Computing, 2nd edition, Grama, Gupta, Karypis, Kumar, Pearson & Addision Wasley, 2003.
7) Using MPI2: Advanced Features of the MessagePassing Interface, Gropp, Thakur, The MIT Press, 1999.
8) Fundamentals of Parallel Processing, H.F. Jordan and G. Alaghband, Prentice Hall, 2003.
9) Parallel Algorithms, Casanova H., Legrand A. and Robert Y., CRC Press, 2009.
10) Parallel Scientific Computing in C++ and MPI, Karniadakis G. and Kirby R., Cambridge University Press, 2003.
11) Parallel Algorithms for Matrix Computations, K. A. Gallivan at al., SIAM, 1990.
12) Principles of Parallel Programming, Calvin Lin and Lawrence Snyder, Pearson International, 2009.
Other References
1) William Gropp, E. Lusk and R. Thakur, Using MPI2: Advanced Features of the MessagePassing Interface, The MIT Press, 1999. 2) S. Goedecker and A. Hoisie, Performance Optimization of Numerically Intensive Codes, SIAM, 2001. 3) Rajat P. Garg and I. Sharapov, Sun BluePrints: Techniques for Optimizing Applications, Sun Microsystem Press, 2002. 4) Seyed H. Roosta, Parallel Processing and Parallel Algorithms, Springer Verlag, 2000. 5) Peter Pacheco, Parallel Programming with MPI, Morgan Kaufmann Pub., 1997. 6) Xavier C., Iyengar S.S. and Lyengar S.S., Introduction to Parallel Algorithms, Wiley Series, 1998. 7) Dongarra, Foster, Fox, Gropp, Kennedy, Torczon, White, Sourcebook of Parallel Computing, Morgan Kauffman, 2003. 8) Koniges, Industrial Strength Parallel Computing, Morgan Kauffman, 2000. 9) David E.K., Ahmed S. and Venkatakrishnan, Parallel Numerical Algorithms, Icase/Larc Interdisciplinary Series in Science and Engineering, Vol 4, 1997. 10) Kumar V., Introduction to Parallel Computing: Design and Analysis of Parallel Algorithms, AddisonWesley, 1994. 11) Van Der Welde, Concurrent Scientific Computing, Springer, 1994. 12) Almasi G.S. and Gottlieb A., Highly Parallel Computing, 2nd ed., Benjamin/Cummins, CA, 1994. 13) Akl S.G., The Design and Analysis of Parallel Algorithms, Prentice Hall, Englewood Cliffs, NJ, 1989. 14) Akl S.G., Parallel Computation: Models and Methods, Prentice Hall, Upper Saddle River, NJ, 1997. 15) Berman K.A. and Paul J.L., Fundamentals of Sequential and Parallel Algorithms, PWS Publishing, Boston, 1997. 16) Chaudhuri P., Parallel Algorithms: Design and Analysis, Prentice Hall, Englewood Cliffs, NJ, 1992. 17) Gibbons A. and Rytter W., Efficient Parallel Algorithms, Cambridge University Press, New York, 1988. 18) Jaja J., An Introduction to Parallel Algorithms, AddisonWesley, Reading, MA, 1992. 19) Smith J.R., The Design and Analysis of Parallel Algorithms, Oxford University Press, New York, 1993. 20) Quinn M.J., Designing Efficient Algorithms for Parallel Computers, McGrawHill, New York, 1987. 21) Freeman T.L. and Phillips C., Parallel Numerical Algorithms, Prentice Hall, Englewood Cliffs, NJ, 1992.
Courses
.
Help
.
About
Ninova is an ITU Office of Information Technologies Product. © 2024