Gujarat Technological University: Linear Algebra and Numerical Methods, Parallel Algorithms

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

GUJARAT TECHNOLOGICAL UNIVERSITY

Master of Engineering
Subject Code: 3730209
Semester III
SUBJECT NAME: High Performance Scientific Computing

Type of course: Elective

Prerequisite: Linear Algebra and Numerical Methods, Parallel Algorithms

Rationale: Computation and simulation are increasingly important in all aspects of science and engineering. At
the same time writing efficient computer programs to take full advantage of current computers is becoming
increasingly difficult. Even laptops now have 4 or more processors, but using them all to solve a single problem
faster often requires rethinking the algorithm to introduce parallelism, and then programming in a language that
can express this parallelism. Writing efficient programs also requires some knowledge of machine arithmetic,
computer architecture, and memory hierarchies. High performance programming is an important aspect of high
performance scientific computing, and so the main theme of the course is the use of basic tools and techniques to
improve your efficiency as a computational scientist.

Teaching and Examination Scheme:

Teaching Scheme Credits Examination Marks Total


L T P C Theory Marks Practical Marks Marks
ESE (E) PA (M) ESE (V) PA (I)
3 0 0 3 70 30 0 0 100

Content:
Sr. Content Total %
No. Hrs Weightage
1 Introduction: Single Processor Computing, Parallel Computing, Parallel System 3 6
Organization
2 Numerical Linear Algebra, High Performance Linear Algebra, Numerical 5 10
Treatment of Differential Equations
3 Applications: Molecular Dynamics, Sorting, Graph Analytics, N-body 7 15
Problems, Monte Carlo Methods, Computation Biology
4 Interactive Python using IPython, and the IPython Notebook, Python scripting 10 21
and its uses in scientific computing, Subtleties of computer arithmetic that can
affect program correctness
5 Fortran 90, a compiled language that is widely used in scientific computing, 10 21
Makefiles for building software and checking dependencies, Analyse the cost of
data communication. Registers, cache, main memory, and how this memory
hierarchy affects code performance.
6 OpenMP on top of Fortran for parallel programming of shared memory 13 27
computers, such as a multicore laptop., MPI on top of Fortran for distributed
memory parallel programming, such as on a cluster, Parallel computing in
IPython, Debuggers, unit tests, regression tests, verification and validation of
computer codes, Graphics and visualization of computational results using
Python
Total 48 100%

After learning the course the students should be able to:

Sr. CO statement Marks


No. % weightage
GUJARAT TECHNOLOGICAL UNIVERSITY
Master of Engineering
Subject Code: 3730209
CO-1 demonstrate the knowledge of numerical computing using an appropriate 10%
programming language.
CO-2 be competent in experimental computing in a numerical context and of the 20%
optimization of algorithms on high performance architectures.
CO-3 be able to reason about the accuracy of mathematical and numerical models 25%
of real physical phenomena.
CO-4 have an awareness of the modern field of computational science and 25%
engineering and of the impact of high performance computing on science
and industry.
CO-5 have an understanding of the various paradigms of high performance 20%
computing and their potential for performance and programmability.

Distribution of marks weightage for cognitive level

Bloom’s Taxonomy for Cognitive Domain Marks


% weightage
Recall 5
Comprehension 10
Application 20
Analysis 25
Evaluate 25
Create 15
Reference Books:

1. Scott, Clark, and Bagheri, Scientific Parallel Computing.


2. Parallel Programming for Multicore and Cluster Systems by Thomas Rauber and Gudula Runger.
3. Using OpenMP: Portable Shared Memory Parallel Programming by Chapman, Jost, and vander Pas.
4. An Introduction to High Performance Scientific Computing, Lloyds D. Fosdick, Elizabeth R. Jessup,
Carolyn J. C. Schauble, Gitta Domik
5. Heath, M.T. Scientific Computation - An Introductory Survey, McGraw-Hill, 1997.
6. Buyya, R. High Performance Cluster Computing: Programming and Applications, Prentice Hall, Upper
Saddle River, New Jersey 1999.s

You might also like