Параллельные вычисления — чек-лист
Чек-лист самопроверки
-
Чем параллелизм отличается от асинхронности?
-
Назовите основные проблемы HPC (память, коммуникации, балансировка).
-
Что означают SISD, SIMD, MIMD в таксономии Флинна?
-
Чем конвейер CPU отличается от data-parallel на GPU?
-
Чем shared memory отличается от distributed memory?
-
Что такое NUMA и почему это важно для производительности?
-
Чем мультипроцессор отличается от мультикомпьютера?
-
Что такое кластер HPC и зачем нужен планировщик (Slurm)?
-
Чем GRID отличается от локального кластера?
-
Что такое SPMD?
-
Для чего используется модель PRAM?
-
Что такое bisection bandwidth топологии?
-
Что такое граф алгоритма (DAG)?
-
Как построить матрицу следования?
-
Когда два оператора логически совместимы?
-
Что такое EST и LFT оператора?
-
Что такое slack и критический путь?
-
Запишите формулу закона Амдаля и предел S_max.
-
Чем установка Густафсона отличается от Амдаля?
-
Что такое strong и weak scaling?
-
Что такое speedup и efficiency?
-
Чем data parallelism отличается от task parallelism?
-
Что такое halo cells при domain decomposition?
-
Что такое false sharing?
-
Опишите блочное умножение матриц на MPI (идея).
-
Зачем нужны сети Петри?
-
Что показывает диаграмма расписания (Gantt)?
-
Почему "16 ядер" не даёт ускорения 16×?
-
Когда OpenMP, а когда MPI?
-
Как проверить корректность параллельной программы?
-
Что такое operational intensity в модели Roofline?
-
Что такое метрика Karp–Flatt и зачем она нужна?
-
Чем iso-efficiency отличается от обычной efficiency?
-
Что такое distance vector в зависимостях цикла?
-
Опишите по шагам алгоритм Warshall для матрицы следования.
-
Что такое halo exchange и когда он нужен?
-
Чем Cannon отличается от SUMMA при умножении матриц?
-
Что делает
#pragma omp parallel for reduction(+:sum)? -
Зачем
MPI_Isendвместо синхронногоMPI_Send? -
Что такое first-touch на NUMA?
-
Чем SIMT на GPU отличается от SIMD на CPU?
-
Что такое bounded buffer в сети Петри?
-
Как deadlock связан с dining philosophers?
-
Что означают α и β в модели стоимости MPI?
-
Когда параллелизация не стоит делать (overhead)?
-
Почему в методе Гаусса на каждом k нужна синхронизация?
-
Чем matvec проще matmul для первого эксперимента на MPI?
-
Что даёт уровневая нумерация вершин графа алгоритма?
-
Назовите три подзадачи проблемы mapping.
-
Чем загруженность ФУ связана с IPC?
-
Зачем на шаге Гаусса вызывать
MPI_Bcastдля опорной строки? -
Почему на последних шагах Гаусса OpenMP часто отключают?