Главная /
Оптимизация приложений с использованием компиляторов Intel. Уровень 2
Оптимизация приложений с использованием компиляторов Intel. Уровень 2 - ответы на тесты Интуит
Данная сертификация проверяет знания оптимизации программ при помощи инструментов Intel.
Список вопросов:
- # Тактовая частота процессора это
- # Выберите верное утверждение
- # Способность процессора выполнять несколько операций за один такт это
- # Пропускная способность (bandwidth) это
- # Конвейер – это
- # В полностью ассоциативной кэш-памяти
- # Определенный участок памяти внутри ЦП, используемый для хранения информации, обрабатываемой процессором это
- # Механизм упреждающей выборки (hardware prefetching) необходим для
- # При исполнении с изменением последовательности операций (out-of-order execution) инструкции выполняются
- # Векторизация это специальный вид распараллеливания программы, при котором
- # КЭШ память различных уровней обычно различается
- # Число циклов процессора, необходимых для передачи единицы данных из памяти — это
- # Какие функции выполняет Sampling?
- # За что отвечает Counter monitor?
- # Какое событие отвечает за количество тактов процессора?
- # Что может являться причиной плохого использования ресурсов программой?
- # Что такое критический код?
- # Какие условия могут помешать векторизации?
- # Набор Uses[b], конструирующийся для def-use chain, содержит:
- # Для понимания, какие определения будут использоваться в блоке, необходимо знать:
- # Граница доминирования – это
- # Что из перечисленного относится к синтаксическому анализу в компиляторе
- # Каким образом утверждения (statements) связываются в компиляторе Intel
- # Перестановочная оптимизация трансформирует вычисление в эквивалентное если
- # Базовые блоки составляют
- # К базовым блокам относятся
- # Какие из нижеперечисленных утверждений верны?
- # Граф потока управления
- # Плюсы SSA формы:
- # SSA-форма это:
- # Для чего предназначен Loop Stream Detector?
- # Укажите условия, необходимые для применения большинства оптимизаций циклических конструкций
- # Выберите фрагменты кода, пригодные для большинства цикловых оптимизаций
- # За счет чего может достигаться улучшение производительности при разбиении циклов?
- # Из-за чего может происходить потеря производительности при работе с большим циклом?
- # Необходимым условием существования зависимости по данным между утверждением S1 и S2 являются следующие условия
- # Какая оптимизация является обратной к объединению циклов?
- # Выберите фрагмент кода, получаемый после применения оптимизации расщепления цикла на заданном цикле: p = 10; for (i=0; i<10; ++i) { y[i] = x[i] + x[p]; p = i; }
- # Для чего используется полная развертка?
- # Какие из следующих утверждений верны относительно следующего фрагмента программы: S1 PI = 3.14 S2 R = 5 S3 AREA = PI*R **2
- # Что такое нормализованный цикл?
- # Что такое итерационный вектор?
- # Какие из следующих опций позволят программе работать на любом процессоре?
- # Могут ли четыре несвязанные явным образом переменные исходной программы быть компонентами одного вектора в результате преобразования векторизации?
- # Что такое упакованный тип данных?
- # Что происходит с нулевыми битами в упакованном типе данных?
- # Операции с упакованными типами данных это
- # Для какой цели необходим интринсик __alignof__ ?
- # Выберите свойство, характеризующее вычислительную систему с распределенной памятью:
- # Выберите свойство характеризующее вычислительную систему с общей памятью:
- # Выберите свойство характеризующее вычислительную систему с неоднородным доступом к памяти:
- # Какие свойства есть у вычислительных систем с распределенной памятью?
- # Какие свойства есть у вычислительных систем с общей памятью?
- # Какие свойства есть у вычислительных систем с неоднородным доступом к памяти?
- # Какой оптимизацией является автопараллелизация в компиляторе Интел?
- # Действительно ли определение выгодности автопараллелизации – сложная задача?
- # Как реализуется параллелизация цикла с помощью функции в компиляторе Intel?
- # Как происходит взаимодействие параллелизации цикла с другими цикловыми оптимизациями в компиляторе Intel?
- # Какими методами можно использовать технику "предвыборки" для оптимизации приложений?
- # В чем заключаются минусы использования техники "предвыборки"?
- # При использовании технологии OpenMP поведение переменных следующее:
- # OpenMP использует следующую модель распараллеливания:
- # Для распараллеливания цикла нужно использовать:
- # Следующий модификатор не является служебным для OpenMP:
- # Для того, чтобы после выполнения значение переменной скопировалось в общий поток, необходимо:
- # Shedule clause принимает параметром следующие типы:
- # Какую информацию отражают ребра в графе вызовов?
- # По какой причине граф вызовов может являться не полным?
- # Статический граф вызовов это
- # Динамический граф вызовов это
- # Динамический граф вызовов
- # Какая межпроцедурная оптимизация используется в языке C++
- # Что такое анализ совмещений?
- # Совмещение (выявляемое при анализе совмещений) может возникнуть между
- # Анализ указателей (points to analysis) это
- # Что такое подстановка (inlining) ?
- # Какие цели преследует постановка (inlining)?
- # Какие минусы у подстановки (inlining) ?
- # Что понимается под устранением неоднозначности при работе с памятью?
- # Что принимается во внимание при устранении неоднозначности при работе с памятью?
- # В каком случае невозможны перестановочные оптимизации?
- # Что требуют правила ANTI aliasing?
- # Что такое клонирование функций?
- # Что такое частичная подстановка функции?
- # В чем недостаток статического профилировщика
- # На основании какой информации статический профилировщик оценивает веса переходов
- # Статический профилировщик может использоваться
- # Преимущества динамического профилировщика
- # Что требуется для динамической профилировки программы
- # Отличия динамического профилирования от статического
- # Выберите верные утверждения
- # Граф несовместимости строится
- # Что обозначают цвета в графе несовместимости?
- # За счет чего перестановка полей структуры может ускорить работу приложения?
- # Какие цели преследует разбиение структуры данных (structure splitting)?
- # С какой целью производится удаление излишних ссылок (pointer chasing)?