Заседание семинара "Высокопроизводительные вычисления" 25.01.2018 в 11-00. "Средства архитектурно-ориентированной оптимизации выполнения параллельных программ для вычислительных систем с многоуровневым параллелизмом", Кулагин Иван Иванович
Работа посвящена разработке и исследованию средств архитектурно-ориентированной оптимизации выполнения параллельных программ для вычислительных систем (ВС) с многоуровневым параллелизмом. Предложены алгоритмы оптимизации использования параллелизма для основных функциональных уровней ВС. На уровне вычислительных узлов (ВУ) реализован алгоритм, выполняющий оптимизирующую трансформацию циклических конструкций в параллельных PGAS-программах. Алгоритм реализован в виде расширения компилятора IBM X10. На уровне многопроцессорного ВУ с общей памятью, рассмотрены задачи оптимизации реализаций программной транзакционной памяти (software transactional memory - STM). Для параллельных STM-программ разработан метод сокращения числа ложных конфликтов по результатам их предварительного профилирования. Для известных алгоритмов автоматической векторизации циклов в открытых компиляторах GCC и LLVM/Clang выявлены классы трудно векторизуемых циклов из тестового набора ETSVC (J/ Dongarra, D. Padua). Построенное подмножество циклов составляет базисный набор для анализа эффективности ядер автовекторизаторов оптимизирующих компиляторов для векторных процессоров класса «регистр-регистр».