Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


courses:high_performance_computing:lectures

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
courses:high_performance_computing:lectures [2024/01/25 00:04] kelcourses:high_performance_computing:lectures [2025/01/13 01:12] (current) kel
Line 3: Line 3:
   - Тенденции развития вычислительных систем, обуславливающие необходимость применения распределённых (параллельных) методов вычислений. Примеры вычислительно ёмких задач из разных областей науки.   - Тенденции развития вычислительных систем, обуславливающие необходимость применения распределённых (параллельных) методов вычислений. Примеры вычислительно ёмких задач из разных областей науки.
   - Классификация параллельных систем (SIMD, MISD..., SMP, MPP)   - Классификация параллельных систем (SIMD, MISD..., SMP, MPP)
-  - Современные высокопроизводительные системы: начиная от расширений SSE, через многоядерность к узлам кластеров+  - Расширения процессоров SSE/AVX...
   - Понятия ускорения, эффективности (закон Амдала)   - Понятия ускорения, эффективности (закон Амдала)
   - План курса   - План курса
   - Старт потока (Java): реализация Runnable vs наследование от Thread   - Старт потока (Java): реализация Runnable vs наследование от Thread
 +  - Напоминание о процессах и потоках: дерево процессов, демоны
  
 ===== 1. Многопоточность или IPC ===== ===== 1. Многопоточность или IPC =====
Line 23: Line 24:
     * interrupted exception     * interrupted exception
     * примеры кода в glibc     * примеры кода в glibc
-  - Сравнение различных потоков (POSIX, boostjava)+  - Сравнение различных потоков (POSIX, C++Java) 
 +  - Разница pthread / kthread
   - Проброс исключений между потоками   - Проброс исключений между потоками
 +  - Напоминание о user space / kernel space и соответствующей стоимости syscall
  
 ===== 3. Примитивы синхронизации ===== ===== 3. Примитивы синхронизации =====
Line 76: Line 79:
   - Средства анализа производительности   - Средства анализа производительности
     * Утилита time     * Утилита time
-    * Intel Parallel Studio +    * Intel VTune 
-    * Valgrind (модули callgrind, cachegrind)     +    * Valgrind (модули callgrind)     
   - Пример поиска узких мест   - Пример поиска узких мест
   - Профилирование промашек по кэшу и метрика CPI   - Профилирование промашек по кэшу и метрика CPI
Line 136: Line 139:
  
 ===== 17. Шаблоны || программирования ===== ===== 17. Шаблоны || программирования =====
 +  - Общий взгляд на виды организации вычислений
   - Структурные шаблоны:   - Структурные шаблоны:
     * Декомпозиция по задачам     * Декомпозиция по задачам
Line 141: Line 145:
     * Recursive Data     * Recursive Data
     * Pipeline     * Pipeline
-  - Некоторые программные структуры: 
-    * Parallel loops 
-    * Boss/Worker 
   - Разное:   - Разное:
     * Double check     * Double check
courses/high_performance_computing/lectures.1706130253.txt.gz · Last modified: 2024/01/25 00:04 by kel