Prerequisites: CS633 Or Instructor’s Consent
Who Can Take The Course
PhD, Masters, 3rd and 4th year UG Students
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.
Job scheduling, Slurm, hwloc
Parallel file systems
Lustre, I/O optimizations, I/O parameter selections
Remote memory access, windows
computation and communication models, logP, logGP models
Profiling and tracing, understanding popular tools such as TAU, HPCToolkit, I/O profiling using Darshan
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
Projects based on above topics
- DE Culler, A Gupta and JP Singh, Parallel Computer Architecture: A Hardware/Software Approach Morgan-Kaufmann, 1998.
- A Grama, A Gupta, G Karypis, and V Kumar, Introduction to Parallel Computing. 2nd Ed., Addison-Wesley, 2003.
- 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.
- Teacher: Preeti Malakar
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.
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.
- Teacher: Manindra Agrawal
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.
- Teacher: Ashutosh Modi