Prerequisites: CS633 Or Instructor’s Consent
Who Can Take The Course

PhD, Masters, 3rd and 4th year UG Students

Course Objective

Parallel programming is ubiquitous in today’s multicore era and solves many real-world scientific problems. Massive parallelism entails significant hardware and software challenges. The course is structured so that the participants read and review recent papers in this field. This will be a research paper discussion based course. The topics selected for the paper discussions will be based on advanced topics in the field and from top-tier conferences and journals such as SC, HPDC, TPDS, JPDC, etc. This course will also involve a research-based major project component.


Course Contents


S. No

Broad Title


No.of Lectures


Resource management

Job scheduling, Slurm, hwloc



Parallel file systems

Lustre, I/O optimizations, I/O parameter selections



One-sided communications

Remote memory access, windows



Performance modeling

computation and communication models, logP, logGP models



Parallel profiling

Profiling and tracing, understanding popular tools such as TAU, HPCToolkit, I/O profiling using Darshan



Topology-aware mapping

Mapping heuristics, performance improvement with mapping, visual representation of topology



Scientific simulation and visualization

Simulation, visualization and analysis workflows, large-scale data movement optimizations



Spark and MPI

Apache Spark, Large-scale data analysis using Spark and MPI



Grid, Cloud, Fog, Edge

Trends from Grid to Cloud to Fog and Edge



Project review

Projects based on above topics






  1. DE Culler, A Gupta and JP Singh, Parallel Computer Architecture: A Hardware/Software Approach Morgan-Kaufmann, 1998.
  2. A Grama, A Gupta, G Karypis, and V Kumar, Introduction to Parallel Computing. 2nd Ed., Addison-Wesley, 2003.
  3. William Gropp, Torsten Hoefler, Ewing Lusk, Rajeev Thakur, Using Advanced MPI: Modern Features of the Message-Passing Interface, Cambridge MIT Press, 2014.

4. MJ Quinn, Parallel Computing: Theory and Practice, Tata McGraw Hill, 2002.

Course Contents:

Overview of Natural Language Processing;

Syntax, semantics, context and world of knowledge;

Strategies for machine translation, Direct, Transfer and Interlingua approaches;

Rule based, Example based on Hybrid Methodologies;

Construction of lexical data-base, Text generation, Machine-aided translation, user interfaces;

Examples of English-Hindi and Hindi-English machine translation.

Course Contents:

Basics of finite fields.

Private and Public-key cryptography, existing cryptosystems and their security.

Cryptanalysis of existing systems.

Zero-knowledge protocols, One-way functions.

Advanced protocols for different applications, e.g. e-cheque, e-cash etc.

Network and System level security issues.


Books And References:

Bruce Schneier. Applied Cryptography: Protocols, Algorithms, and Source Code in C.

A. J. Menezes, P. C. van Oorshot and S. A. Vanstone.Handbook of Applied Cryptography.

Douglas Stinson. Cryptography: Theory and Practice.

Jonathan Katz and Yehuda Lindell. Introduction to Modern Cryptography.

Research Papers.

Natural language (NL) refers to the language spoken/written by humans. NL is the primary mode of communication for humans. With the growth of the world wide web, data in the form of textual natural language has grown exponentially. It calls for the development of algorithms and techniques for processing natural language for automation and the development of intelligent machines. This course will primarily focus on understanding and developing techniques/learning algorithms/models for processing text. We will have a statistical approach to Natural Language Processing (NLP), wherein we will learn how one could develop natural language understanding models from regularities in large corpora of natural language texts.