HPC Detailed Notes
HPC Detailed Notes
Parallel computing is a type of computation in which many calculations or processes are carried out
- Speedup: Ratio of time taken by single processor to time taken by multiple processors.
- Data Parallelism: Performing the same task on different pieces of distributed data.
- Pipelining: Breaking a task into stages with each stage handled by a different processor.
1.4 Scalability
Refers to how well a parallel system can increase performance when additional resources are
added.
- Data Parallel: Each processor performs the same operation on different pieces of data.
1.6 Parallel Reduction
Combines values from multiple processors to a single result (e.g., sum, max).
An operation where each element in an array is replaced by the sum of all previous elements
including itself.
Determines the position of each node in a linked list from the head node.
Assigning colors to vertices such that no two adjacent vertices have the same color.
- Networks where the path between two nodes can change during execution.
- Topologies include:
- Mesh
- Torus
- Hypercube
- Tree
- Ring
4.1 Mapping
4.2 Scheduling
4.4 Deadlock
- Solutions:
- Avoidance
- Prevention
- Compute in parallel.
- Parallel BFS, DFS, Graph coloring, Shortest Path (e.g., Dijkstra's in parallel).