Linear Algebra and Matrices Flashcards

1
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why is linear algebra essential in HPC?

A

It is used to approximate calculus for solving differential equations in scientific and engineering applications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What numerical method did we use in Week 3 to solve PDEs?

A

Finite differences with a forward Euler timestep.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Why do many numerical methods require solving systems of linear equations?

A

Because advanced numerical methods break problems into linear algebraic components for computation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Why might finite differences not be suitable for complex meshes?

A

They are easy to implement but struggle with irregular geometries.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does the finite volume method focus on?

A

Fluxes (e.g, mass, momentum, energy between adjacent cells)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Name an open-source finite volume CFD software.

A

OpenFOAM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How does the finite element method approximate solutions?

A

Using expansion functions that are nonzero over a small region of the domain.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Name two finite element solvers.

A
  1. Nektar++
  2. Firedrake
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What makes elliptic equations different from parabolic/hyperbolic equations?

A

They do not contain a time dependence and cannot be solved with time stepping.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Give an example of an elliptic equation.

A

The Poisson equation used for self-gravity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the difference between a dense and sparse matrix?

A
  • A dense matrix has most elements as nonzero
  • A sparse matrix has mostly zero elements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Why is a sparse matrix stored differently from a dense matrix?

A

Storing all elements of a sparse matrix would be inefficient.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does BLAS stand for? What does it provide?

A

Basic Linear Algebra Subprograms

Standardised interfaces for vector and matrix operations in C and Fortran.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Does BLAS support sparse matrices?

A

No, it only supports dense matrices and specific structured matrices (e.g., banded/symmetric).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the three levels of BLAS?

A
  • Level 1: Vector-Vector
  • Level 2: Matrix-Vector
  • Level 3: Matrix-Matrix
17
Q

How does arithmetic intensity scale across BLAS levels?

A
  • BLAS 1 (dot product): O(1)
  • BLAS 2 (matrix-vector multiplication): O(1)
  • BLAS 3 (matrix-matrix multiplication): O(N)
18
Q

Name an optimised BLAS implementation.

A
  • OpenBLAS
  • Intel MKL
  • ATLAS
19
Q

Why use an optimised BLAS library?

A

It improves performance in applications requiring linear algebra computations.

20
Q

What does CSR mean? What is CSR format used for?

A

Compressed Sparse Row Format

Efficiently storing and processing sparse matrices.

21
Q

How much storage does CSR require compared to a full matrix?

A

Instead of N{row} x N{col} elements, it stores 2N{NZ} + N{row} + 1 values (where N{NZ} is the number of non-zero elements).

22
Q

What are the three arrays in CSR format?

A
  1. vals: Non-zero values
  2. col_ind: Column indices of nonzero values
  3. row_ptr: Indices in vals and col_ind where each new row starts
23
Q

Why might another sparse matrix format be preferable to CSR?

A

Some formats are more efficient for structured sparsity patterns (e.g., banded/block-structured matrices).

24
Q

What mathematical operation does Linpack perform?

A

Solving Ax = b, using Lower-Upper factorisation.

25
How does Linpack scale in terms of algorithmic intensity?
O(N) and is compute-bound.
26
What is HPL? What is it used for?
High-Performance Linpack Ranking systems in the Top500 list of supercomputers.
27
Why is HPL optimised for peak floating-point performance?
Matrix sizes can be adjusted to achieve near-theoretical maximum performance.
28
What does HPCG stand for? Why was HPCG developed?
High Performance Conjugate Gradients To benchmark systems based on sparse linear algebra workloads rather than dense computations.
29
What equation does HPCG solve?
A 3D Poisson’s equation using a 27-point stencil.
30
How does the algorithmic intensity of HPCG compare to HPL?
HPCG has **lower arithmetic intensity** and is **memory-bound**, making it *more representative* of real-world applications.