CS-802 (C) · High Performance computing/Unsolved PYQ Paper
CS-802-C High Performance Computing - May 2022 Question Paper
Under each question, How to answer lists the points an answer should cover, outlined by CampusPrep from the syllabus. Check the details against your textbook.
-
7 MarksaDraw the block diagram of a typical cache-based microprocessor.
How to answer
- Define cache-based microprocessor and its need for hiding memory latency
- Show CPU core, L1/L2/L3 cache, MMU, bus interface and main memory blocks
- Indicate data / address / control paths between blocks
- Brief function of each block in one line
-
7 MarksbDifferentiate Multi-core, Multithreaded and Vector processors.
How to answer
- Define multi-core, multithreaded and vector processors
- Compare on architecture, execution model and parallelism type
- Compare on use cases and examples
- Summarize differences in tabular form
-
14 MarksWhat is Parallelism? Discuss the different variants of parallelism with the help of an example in each case.
How to answer
- Define parallelism and its need in HPC
- Describe variants e.g. data, task, bit-level, instruction-level parallelism
- Give one example for each variant
- State benefits / applications
-
7 MarksaDiscuss C++ optimizations.
How to answer
- State need for C++ level optimization in HPC
- Discuss compiler optimizations, inlining, loop unrolling
- Discuss memory, cache, STL and object-oriented overhead optimizations
- Give examples of optimization flags / techniques
-
7 MarksbWhat do you mean by scalar profiling? Explain function and line-based profiling.
How to answer
- Define scalar profiling and its purpose
- Explain function-based profiling with metrics collected
- Explain line-based profiling with metrics collected
- State use in performance tuning
-
14 MarksExplain the blocking and rolling strategies with the help of multiplication of a sparse matrix with a vector.
How to answer
- Define sparse matrix-vector multiplication and its memory access problem
- Explain blocking strategy for cache reuse with example
- Explain rolling / strip-mining strategy with example
- Compare benefits in locality and performance
-
7 MarksaWhat is OpenMP? Explain the concepts of data scoping, work-sharing for loops and loop scheduling.
How to answer
- Define OpenMP as shared-memory parallel API
- Explain data scoping clauses: shared, private, etc.
- Explain work-sharing for loops: parallel for constructs
- Explain loop scheduling: static, dynamic, guided
-
7 MarksbWhat is non-blocking point-to-point communication? How it differs from blocking communication?
How to answer
- Define blocking vs non-blocking point-to-point communication
- Explain MPI_Isend/Irecv, wait/test semantics
- Differentiate on overlap, synchronization and buffer use
- Give example scenario for each
-
14 MarksDiscuss the performance problems that can be raised with OpenMP shared-memory programming, also discuss how they can be circumvented?
How to answer
- Define OpenMP shared-memory programming model
- List performance problems: race, false sharing, overhead, load imbalance
- Explain cause and effect of each problem
- Discuss circumvention: synchronization, padding, scheduling, affinity
-
7 MarksaHow to reduce the communication overhead? Differentiate non-blocking and asynchronous communication.
How to answer
- List techniques to reduce communication overhead: aggregation, overlap, locality
- Explain each technique briefly
- Define non-blocking vs asynchronous communication
- Differentiate on semantics and completion / synchronization
-
7 MarksbDraw the flowchart for distributed-memory parallelization of the Jacobi algorithm.
How to answer
- Recall Jacobi iterative method and parallel decomposition
- Show initialization, halo exchange, computation and convergence check steps
- Draw flowchart with decision for convergence / max iterations
- Label distributed-memory send/receive operations
-
14 MarksWrite a short note on the following (Any two)
- a)Moore's law
- b)Scalability Laws
- c)Bandwidth-based performance modelling
- d)Virtual topologies
How to answer
- Select any two topics from the four given options
- Give definition, background and key points for each
- Mention formulas / laws / relevance to HPC where applicable
- Conclude with significance / application
Go to where you left off?
Quick Add to Notes
Save questions, your own notes and screenshots into notes filed by unit. It takes a free account.
Create free accountHave an account? Log in
Notes Panel