Skip to content
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.

  1. 7 Marks
    aDraw 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
  2. 7 Marks
    bDifferentiate 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
  3. 14 Marks
    What 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
  4. 7 Marks
    aDiscuss 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
  5. 7 Marks
    bWhat 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
  6. 14 Marks
    Explain 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. 7 Marks
    aWhat 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
  8. 7 Marks
    bWhat 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
  9. 14 Marks
    Discuss 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
  10. 7 Marks
    aHow 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
  11. 7 Marks
    bDraw 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
  12. 14 Marks
    Write a short note on the following (Any two)
    1. a)Moore's law
    2. b)Scalability Laws
    3. c)Bandwidth-based performance modelling
    4. 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 account

Have an account? Log in