Главная /
Параллельное программирование с использованием OpenMP
Параллельное программирование с использованием OpenMP - ответы на тесты Интуит
В курсе изложены сведения о параллельном программировании с использованием OpenMP для современных параллельных высокопроизводительных вычислительных систем с общей памятью.
Список вопросов:
- # Как организована память в массивно-параллельных вычислительных системах?
- # Как организована память в симметричных мультипроцессорных системах?
- # Как организованы вычислительные системы с неоднородным доступом к памяти?
- # Для чего используются коммутаторы NUMALINK?
- # Для чего используются коммутаторы Myrinet?
- # Для чего используются коммутаторы Infiniband?
- # К какому классу вычислительных систем относится компьютер с одним многоядерным процессором?
- # К какому классу вычислительных систем относится компьютер, состоящий из 20 одинаковых системных блоков с одним одноядерным процессором?
- # К какому классу вычислительных систем относиться компьютер, состоящий из двух системных блоков, один из которых оснащен одноядерным процессором с тактовой частотой 2 Мгц, а другой - двухъядерным процессором с тактовой частотой 1.6 Мгц?
- # Что такое многоядерность?
- # Сколько ядер содержится в процессоре Pentium D?
- # Сколько ядер содержится в процессоре Cell?
- # Что такое многопоточность?
- # Сколько потоков может обрабатываться одновременно в процессоре Pentium D?
- # Сколько потоков может обрабатываться одновременно в процессоре Cell?
- # Какой тип межузлового соединения реализован в многопроцессорных вычислительных системах компании Silicon Graphis?
- # Какой из ниже перечисленных типов межузлового соединения можно использовать в MPP вычислительной системе?
- # Какой из ниже перечисленных типов межузлового соединения, можно использовать в SMP вычислительной системе?
- # Интерфейсные плата должны быть установлены
- # Для получения максимальной производительности необходимо использовать
- # Какой из ниже перечисленных интерфейсов межузлового обмена сообщениями следует использовать в MMP вычислительной системе?
- # Для каких языков программирования реализован подход OpenMP?
- # Для каких языков программирования реализован подход OpenMP?
- # Для каких языков программирования реализован подход OpenMP?
- # Для какого типа вычислительных систем эффективен подход OpenMP?
- # Как называется поток, с которого начинается исполнение параллельной программы?
- # Как называется поток, с которого начинается исполнение последовательной программы?
- # Какой тип переменных используется для обмена данными между потоками в параллельной области программы?
- # Какой тип переменных следует использовать для передачи данных из главного потока в параллельные?
- # Какой тип переменных следует использовать для передачи данных из параллельных потоков в главный?
- # Для чего нужна процедура синхронизации?
- # Почему следует по возможности избегать процедуры синхронизации?
- # В каких из операций неявно используется процедура синхронизации?
- # С какого предложения начинается параллельный блок в программе на языке C?
- # С какого предложения начинается параллельный блок в программе на языке C++?
- # С какого предложения начинается параллельный блок в программе на языке Fortran?
- # В чем состоит особенность статического режима выполнения параллельных блоков?
- # Как задается динамический режим выполнения параллельных блоков?
- # В чем состоит особенность статического режима выполнения параллельных блоков?
- # Назовите основные группы методов балансировки потоков в параллельных вычислительных системах?
- # Назовите основные группы методов балансировки потоков в SMP параллельных вычислительных системах?
- # Назовите основные группы методов балансировки потоков в MPP параллельных вычислительных системах?
- # Для чего используется директива nowait?
- # В каких из следующих предложениях можно использовать директиву nowait?
- # Можно ли с помощью директивы nowait получить значения из главного потока в параллельном?
- # Для чего используется синхронизация типа critical?
- # Где неявно задается синхронизация типа barrier?
- # Для чего служит синхронизация типа master?
- # Зачем нужна синхронизация типа ordered?
- # Для чего нужна директива schedule?
- # Зачем используется параметр chunk в директиве schedule?
- # Зачем нужна синхронизация типа atomic?
- # Как определяется синхронизация atomic в программе на языке C?
- # Как определяется синхронизация atomic в программе на языке Fortran?
- # Зачем нужна синхронизация типа critical?
- # Как определяется синхронизация critical в программе на языке C?
- # Как определяется синхронизация critical в программе на языке Fortran?
- # С помощью, какой функции можно задать число потоков в параллельной области программы?
- # С помощью, какой функции можно определить число потоков в параллельной области программы в текущий момент выполнения программы?
- # С помощью, какой функции можно определить номер параллельного потока в текущий момент в параллельной области программы?
- # Какая функция определяет динамический режим работы программы?
- # Как определяется вложенный режим обработки параллельных блоков?
- # С помощью какой функции можно определить установлен или нет вложенный режим обработки параллельных блоков?
- # Для чего используется директива threadprivate?
- # Можно ли с помощью директивы threadprivate передавать локальные данные из одного параллельного блока программы в другой?
- # Можно ли с помощью директивы threadprivate сохранять локальные данные на протяжении всей программы?
- # Что является параметрами директивы threadprivate в программах на языке Fortran?
- # Что является параметрами директивы threadprivate в программах на языке С?
- # Могут ли параметры директивы threadprivate фигурировать в директиве lastprivate?
- # Для чего нужны функции блокировки?
- # Какая функция устанавливает блокировку объекта?
- # Какая функция позволяет снять блокировку объекта?
- # Какая подпрограмма устанавливает блокировку объекта в программе на языке Fortran?
- # Какая подпрограмма инициализирует блокировку объекта в программе на языке Fortran?
- # Какая подпрограмма снимает блокировку объекта в программе на языке Fortran?
- # В каком порядке завершаются операции ввода-вывода в параллельной области программы?
- # В чем состоит причина ошибок, связанных с условиями состязательности?
- # Что такое мертвая блокировка?
- # Какие существуют средства автоматизированной отладки в OpenMP?
- # Какие существуют средства автоматизированной профилировки в OpenMP?
- # Под управлением какой операционной системы работает Intel Thread Checker?
- # Для чего применяется инструмент Intel Thread Checker?
- # Для чего применяется инструмент Intel VTune Performance Analyzer?
- # Для чего применяется инструмент Intel Thread Profiler?
- # Под управлением какой операционной системы работает отладчик TotalView?
- # Какие программы нельзя отлаживать в бесплатной версии отладчика TotalView?
- # Какие программы можно отлаживать в бесплатной версии отладчика TotalView?
- # Какие существуют виды просмотра переменных в отладчике TotalView?
- # С помощью какой последовательности команд можно начать отладку программы в отладчике TotalView?
- # С помощью какой последовательности команд можно начать просмотр значений переменных в некоторой строке программы, работающей под управлением отладчика TotalView?
- # С помощью какой команды можно быстро пройтись по установленным точкам прерывания в программе, работающей под управлением отладчика TotalView?
- # Как с помощью мыши быстро установить точки прерывания в программе, работающей под управлением отладчика TotalView?
- # Какие существуют виды просмотра переменных в отладчике TotalView?
- # Для чего нужна профилировка программ?
- # Какие инструменты можно использовать для профилировки программ?
- # Можно ли использовать Intel VTune Performance Analyser для профилировки программ?
- # К какой памяти, из перечисленных (локальная память, регистры, кэш 1-го уровня, кэш 2-го уровня), обращение осуществляется наиболее быстро?
- # К какой памяти из ниже перечисленных (локальная память, кэш 1-го уровня, кэш 2-го уровня) обращение осуществляется наиболее быстро?
- # К какой памяти из ниже перечисленных (локальная память, регистры, кэш 1-го уровня, кэш 2-го уровня) обращение осуществляется наиболее медленно?
- # Что такое зависимость по данным?
- # Для эффективного распараллеливания циклов нужно по возможности
- # При распараллеливании вложенных циклов надо стремиться к
- # Для эффективного распараллеливания циклов нужно использовать
- # Для эффективного распараллеливания циклов в программе на Fortran нужно осуществлять перебор элементов двумерных массивов
- # Для эффективного распараллеливания циклов в программе на С++ нужно осуществлять перебор элементов двумерных массивов
- # Пусть суммарная доля последовательных блоков в программе равна 0.2, а число ядер в процессоре равно 4. Во сколько раз может быть быстрее параллельная версия такой программы по сравнению с последовательной?
- # Пусть суммарная доля последовательных блоков в программе равна 0.1, а число процессоров в вычислительной системе равно 9. Во сколько раз может быть быстрее параллельная версия такой программы по сравнению с последовательной?
- # Пусть суммарная доля последовательных блоков в программе равна 0.4, а число ядер в процессоре равно 6. Во сколько раз может быть быстрее параллельная версия такой программы по сравнению с последовательной?
- # Пусть суммарная доля последовательных блоков в программе равна 0.1. Сколько должно быть в системе одноядерных процессоров, чтобы ускорить работу программы в 4 раза?
- # Пусть суммарная доля последовательных блоков в программе равна 0.1. Сколько должно быть в системе 2-ядерных процессоров, чтобы ускорить работу программы в 4 раза?
- # Пусть суммарная доля последовательных блоков в программе равна 0.1. Каково наименьшее число 6-ядерных процессоров может быть в такой системе, чтобы ускорить работу программы в 4 раза?
- # Как осуществить автоматическое распараллеливание программы с помощью компиляторов Intel?
- # Для чего нужна настройка -openmp в компиляторах Intel?
- # Для чего используется опция компилятора Intel -par_report?
- # Для чего используется настройка компилятора Intel -par_threshold?
- # Для чего используется параметр level в настройке компилятора Intel -par_thresholdlevel?
- # Какие значения может принимать level в настройке компилятора Intel -par_thresholdlevel?
- # Для чего используется опция компилятора Intel -openmp_report?
- # Какой из двух отчетов по результатам автоматического распараллеливания будет более подробным, созданный с использованием настройки компилятора -par_report0 или -par_report3?
- # Какой из двух отчетов по результатам автоматического распараллеливания будет менее подробным, созданный с использованием настройки компилятора -par_report2 или -par_report3?
- # Для каких вычислительных систем следует использовать подход Cluster OpenMP?
- # Для каких вычислительных систем следует использовать подход OpenMP?
- # Какой из подходов следует использовать для наиболее эффективного распараллеливания программ для MPP вычислительной системы с 4-х ядерными процессорами?
- # В каком файле задаются дополнительные настройки Cluster OpenMP?
- # В какой папке следует искать файл kmp_cluster.ini в первую очередь?
- # В какой папке следует искать файл kmp_cluster.ini во вторую очередь?
- # Могут ли переменные в программе описанные как EQUIVALENCE быть объявленными как sharable?
- # Какое из описаний переменных sharable правильное?
- # Какое из описаний переменных sharable правильное?
- # Для чего нужны переменные типа sharable в Cluster OpenMP?
- # Где хранятся переменные типа sharable на кластере?
- # Какой может быть наименьший размер переменной типа sharable?
- # Какой из функций, приведенных ниже, можно осуществить динамическую загрузку переменных типа sharable?
- # Какой из функций, приведенных ниже, можно осуществить динамическое выделение памяти под переменные типа sharable с выравниванием по границе страницы?
- # Какая из следующих функций позволяет освободить динамическую память, занятую переменной типа sharable?