игра брюс 2048
Главная / Программирование / Программирование на современных мультиядерных архитектурах (на примере Intel Xeon Phi) / Тест 2

Программирование на современных мультиядерных архитектурах (на примере Intel Xeon Phi) - тест 2

Упражнение 1:
Номер 1
Какая метрика производительности является индикатором того, как сильно латентность доступа к памяти влияет на производительность приложения?

Ответ:

 (1) cycles per instruction, CPI 

 (2) compute to data access ratio 

 (3) vectorization intensity 

 (4) memory bandwidth 


Номер 2
Какая метрика производительности показывает среднее число векторных операций, приходящихся на один доступ к кэш памяти?

Ответ:

 (1) cycles per instruction, CPI 

 (2) compute to data access ratio 

 (3) vectorization intensity 

 (4) memory bandwidth  


Номер 4
Какая метрика производительности показывает отношение числа векторных операций к числу векторных инструкций, выполняемых потоком?

Ответ:

 (1) cycles per instruction, CPI 

 (2) compute to data access ratio 

 (3) vectorization intensity 

 (4) memory bandwidth  


Номер 5
Какая метрика производительности является показателем пропускной способности памяти?

Ответ:

 (1) какая метрика производительности является показателем пропускной способности памяти? 

 (2) compute to data access ratio 

 (3) vectorization intensity 

 (4) memory bandwidth 


Упражнение 2:
Номер 1
Библиотека MKL содержит функции slasrt и dlasrt (из стандарта BLAS), предназначенные для сортировки массивов данных. Чем отличаются эти функции?

Ответ:

 (1) функции предназначены для сортировки массивов в разном порядке (возрастающем и убывающем) 

 (2) функции предназначены для сортировки разных типов данных (вещественные числа одинарной и двойной точности) 

 (3) функции одинаковые (одна из функций осталась для совместимости из предыдущей версии библиотеки) 


Номер 2
Для использования функций из библиотеки MKL необходимо слинковать вашу программу с одной из следующих библиотек: mkl_intel_thread.lib или mkl_sequential.lib. В чём основное отличие этих библиотек?

Ответ:

 (1) эти библиотеки реализуют разные соглашения о вызове функций (стандартный вызов языка C или stdcall) 

 (2) одна библиотека содержит реализацию параллельных версий функций, вторая – последовательных 

 (3) одна библиотека содержит реализацию параллельных версий функций, вторая – последовательных 


Номер 3
Для использования функций из библиотеки MKL необходимо слинковать вашу программу с одной из следующих библиотек: mkl_intel_c.lib или mkl_intel_s.lib. В чём основное отличие этих библиотек?

Ответ:

 (1) эти библиотеки реализуют разные соглашения о вызове функций (стандартный вызов языка C или stdcall) 

 (2) одна библиотека содержит реализацию параллельных версий функций, вторая – последовательных 

 (3) одна библиотека содержит реализацию потокобезопасных функции, вторая – нет 


Упражнение 3:
Номер 1
Вы написали параллельную программу с использованием OpenMP на языке C. Эта программа работает корректно на подготовленных тестовых данных. Вы запустили вашу программу два раза на 4-хядерной машине. Первый раз вы запустили программу в один поток, и она работала 39 секунд, второй – в 4 потока и она работала 34 секунды. Чем вы воспользуетесь в первую очередь при дальнейшей разработке программы?

Ответ:

 (1) Parallel Inspector в режиме Memory Errors 

 (2) Parallel Amplifier в режиме Hotspots 

 (3) Parallel Inspector в режиме Threading Errors 

 (4) Parallel Amplifier в режиме Concurrency 


Номер 2
После Hotspots анализа Intel Parallel Amplifier показал, что на выполнение функции, которая выполняет 5 арифметических действий с вещественными числами, тратиться 35 % работы программы. Какова наиболее вероятная причина произошедшего?

Ответ:

 (1) Intel Parallel Amplifier ошибся, т.к. это инструмент статистического анализа 

 (2) рассматриваемая функция вызывалась большое количество раз 

 (3) программа работает очень быстро, и рассматриваемая функция действительно выполняется 35 % времени работы программы 


Номер 3
Какие из приведенных ниже типов функций BLAS библиотеки Intel MKL могут работать на сопроцессоре в «нативном» (native) режиме:

Ответ:

 (1) *GEMM 

 (2) *TRSM и *TRMM  

 (3) *GEMM, *TRSM и *TRMM  

 (4) Все функции BLAS 


Упражнение 4:
Номер 1
Каким образом можно указать компилятору, что на нулевой сопроцессор должно приходиться 70% нагрузки при вызове функций библиотеки Intel MKL в режиме Automatic Offload:

Ответ:

 (1) используя функцию mkl_mic_set_Workdivision(MKL_TARGET_MIC, 0, 0.3) 

 (2) используя функцию mkl_mic_set_Workdivision(MKL_TARGET_MIC, 0, 0.7) 

 (3) используя переменную окружения MKL_MIC_0_WORKDIVISION=0.3 

 (4) используя переменную окружения MKL_MIC_0_WORKDIVISION=0.7 


Номер 2
Каким образом можно указать компилятору, что на сопроцессор с номером 1 должно приходиться 70% нагрузки при вызове функций библиотеки Intel MKL в режиме Automatic Offload:

Ответ:

 (1) используя функцию mkl_mic_set_Workdivision(MKL_TARGET_MIC, 0, 0.3) 

 (2) используя функцию mkl_mic_set_Workdivision(MKL_TARGET_MIC, 1, 0.7) 

 (3) используя переменную окружения MKL_MIC_1_WORKDIVISION=0.3 

 (4) используя переменную окружения MKL_MIC_0_WORKDIVISION=0.7 


Номер 3
Каким образом можно сказать уомпилятору, что на сопроцессор с номером 1 должно приходиться 30% нагрузки при вызове функций библиотеки Intel MKL в режиме Automatic Offload:

Ответ:

 (1) используя функцию mkl_mic_set_Workdivision(MKL_TARGET_MIC, 0, 0.3) 

 (2) используя функцию mkl_mic_set_Workdivision(MKL_TARGET_MIC, 1, 0.7) 

 (3) используя переменную окружения MKL_MIC_1_WORKDIVISION=0.3 

 (4) используя переменную окружения MKL_MIC_0_WORKDIVISION=0.7 


Упражнение 5:
Номер 1
Библиотека Intel MKL не содержит функционал из следующих областей:

Ответ:

 (1) линейная алгебра 

 (2) быстрое преобразование Фурье 

 (3) решение дифференциальных уравнений 

 (4) методы компьютерного зрения 


Номер 2
Какую информацию о ходе выполнения программы можно получить, воспользовавшись ключами компилятора Intel "-profile-functions -profile-loops=all -profile-loops-report=2":

Ответ:

 (1) какие функции работают дольше всего 

 (2) какие циклы работают дольше всего 

 (3) среднее, минимальное и максимальное время работы каждой из функций программы 

 (4) среднее, минимальное и максимальное число итераций циклов 


Номер 3
Инструмент Intel VTune Amplifier позволяет:

Ответ:

 (1) находить функции и участки кода, на выполнение которых расходуется больше всего времени. Анализирует стеки вызовов и исходный код 

 (2) определять количество внутренних событий процессора, которые влияют на производительность. Например, промахи кэша разных уровней, неверно предсказанные ветвления и др. 

 (3) получать рекомендации касательно возможности распараллеливания определенных участков кода с указанием возможной эффективности распараллеливания 

 (4) определять время ожидания в блокировках потоков, а также уровень загрузки CPU 


Упражнение 6:
Номер 1
Каким инструментом Intel следует пользоваться для получения информации о функциях и циклах, занимающих больше всего времени, а также о среднем, минимальном и максимальном числе итераций этих циклов:

Ответ:

 (1) Intel Inspector XE 

 (2) Intel VTune Amplifier XE 

 (3) Intel Compiler с ключами "-profile-functions -profile-loops=all -profile-loops-report=2" и Loop Profile Viewer 


Номер 2
Каким инструментом Intel следует пользоваться для получения информации об эффективности многопоточного выполнения программы:

Ответ:

 (1) Intel Inspector XE 

 (2) Intel VTune Amplifier XE 

 (3) Intel Compiler с ключами "-profile-functions -profile-loops=all -profile-loops-report=2" и Loop Profile Viewer 


Номер 3
Каким инструментом Intel следует пользоваться для выявления ошибок работы с памятью и ошибок многопоточности в программе:

Ответ:

 (1) Intel Inspector XE 

 (2) Intel VTune Amplifier XE 

 (3) Intel Compiler с ключами "-profile-functions -profile-loops=all -profile-loops-report=2" и Loop Profile Viewer 


Упражнение 7:
Номер 1
В случае работы с приложением для Intel Xeon Phi инструмент Intel Inspector XE рекомендуется использовать для:

Ответ:

 (1) выявления в коде таких ошибок, как зависимость по данным, тупики и т.п. при работе на CPU (с отключенной функцией offload). После исправления всех выявленных ошибок можно включать offload режим и продолжать отладку на сопроцессоре 

 (2) выявления проблем эффективности распараллеливания при работе на CPU (с отключенной функцией offload). После того, как удастся устранить все проблемы, нужно переходить к работе с сопроцессором и проводить на нем дальнейшую оптимизацию 

 (3) получения информации о функциях и циклах, занимающих больше всего времени, а также о среднем, минимальном и максимальном числе итераций этих циклов 


Номер 2
В случае работы с приложением для Intel Xeon Phi инструмент Intel VTune Amplifier XE рекомендуется использовать для:

Ответ:

 (1) выявления в коде таких ошибок, как зависимость по данным, тупики и т.п. при работе на CPU (с отключенной функцией offload). После исправления всех выявленных ошибок можно включать offload режим и продолжать отладку на сопроцессоре 

 (2) выявления проблем эффективности распараллеливания при работе на CPU (с отключенной функцией offload). После того, как удастся устранить все проблемы, нужно переходить к работе с сопроцессором и проводить на нем дальнейшую оптимизацию 

 (3) получения информации о функциях и циклах, занимающих больше всего времени, а также о среднем, минимальном и максимальном числе итераций этих циклов 


Номер 3
Инструмент Intel Loop Profile Viewer (+ соответствующие ключи компилятора) рекомендуется использовать для:

Ответ:

 (1) выявления в коде таких ошибок, как зависимость по данным, тупики и т.п. при работе на CPU (с отключенной функцией offload). После исправления всех выявленных ошибок можно включать offload режим и продолжать отладку на сопроцессоре 

 (2) выявления проблем эффективности распараллеливания при работе на CPU (с отключенной функцией offload). После того, как удастся устранить все проблемы, нужно переходить к работе с сопроцессором и проводить на нем дальнейшую оптимизацию 

 (3) получения информации о функциях и циклах, занимающих больше всего времени, а также о среднем, минимальном и максимальном числе итераций этих циклов 


Упражнение 8:
Номер 1
Для запуска приложения "./program_name"  с единственным параметром "10" с помощью GUI компонента Intel VTune Amplifier XE в режиме offload необходимо:

Ответ:

 (1) в качестве приложения для запуска (поле Application) необходимо указать "./program_name", а в качестве параметров приложения (поле Application parameters) - "10" 

 (2) в качестве приложения для запуска (поле Application) необходимо указать "./program_name 10", а поле параметров приложения (Application parameters) оставить пустым 

 (3) в качестве приложения для запуска (поле Application) необходимо указать "ssh", а в качестве параметров приложения (поле Application parameters) - "mic0 ./program_name 10" 

 (4) в качестве приложения для запуска (поле Application) необходимо указать "ssh mic0 ./program_name", а в качестве параметров приложения (поле Application parameters) - "10" 


Номер 2
Для запуска приложения "./program_name"  с единственным параметром "10" с помощью GUI компонента Intel VTune Amplifier XE в нативном (native) режиме необходимо:

Ответ:

 (1) в качестве приложения для запуска (поле Application) необходимо указать "./program_name", а в качестве параметров приложения (поле Application parameters) - "10" 

 (2) в качестве приложения для запуска (поле Application) необходимо указать "./program_name 10", а поле параметров приложения (Application parameters) оставить пустым 

 (3) в качестве приложения для запуска (поле Application) необходимо указать "ssh", а в качестве параметров приложения (поле Application parameters) - "mic0 ./program_name 10" 

 (4) в качестве приложения для запуска (поле Application) необходимо указать "ssh mic0 ./program_name", а в качестве параметров приложения (поле Application parameters) - "10" 


Упражнение 9:
Номер 1
Для запуска мониторинга приложения с помощью Intel VTune Amplifier XE с предопределенным типом анализа Lightweight Hotspots в нативном (native) режиме нужно выполнить команду:

Ответ:

 (1) amplxe-cl –collect knc-lightweight-hotspots –knob target-cards=0,1 –result-dir ./program_cmd -- ./program.out 

 (2) amplxe-cl –collect knc-lightweight-hotspots –reslut-dir ./program-cmd -- ssh mic0 “export LD_LIBRARY_PATH=~/; export OMP_NUM_THREADS=244; export KMP_AFFINITY=balanced; ./program.out”  

 (3) amplxe-cl –collect-with runsa-knc –knob event-config=CPU_CLK_UNHALTED,L2_DATA_READ_MISS_MEM_FILL:sa=1000, L2_DATA_WRITE_MISS_MEM_FILL,L2_VICTIM_REQ_WITH_DATA,SNP_HINT_L2,HWP_L2MISS –knob target-cards=0,1 –result-dir ./program-cmd -- ./program.out  


Номер 2
Для запуска мониторинга приложения с помощью Intel VTune Amplifier XE с указанием конкретных счетчиков производительности в режиме offload нужно выполнить команду:

Ответ:

 (1) amplxe-cl –collect knc-lightweight-hotspots –knob target-cards=0,1 –result-dir ./program_cmd -- ./program.out 

 (2) amplxe-cl –collect knc-lightweight-hotspots –reslut-dir ./program-cmd -- ssh mic0 “export LD_LIBRARY_PATH=~/; export OMP_NUM_THREADS=244; export KMP_AFFINITY=balanced; ./program.out”  

 (3) amplxe-cl –collect-with runsa-knc –knob event-config=CPU_CLK_UNHALTED,L2_DATA_READ_MISS_MEM_FILL:sa=1000, L2_DATA_WRITE_MISS_MEM_FILL,L2_VICTIM_REQ_WITH_DATA,SNP_HINT_L2,HWP_L2MISS –knob target-cards=0,1 –result-dir ./program-cmd -- ./program.out  


Номер 3
Для запуска мониторинга приложения с помощью Intel VTune Amplifier XE с предопределенным типом анализа Lightweight Hotspots в режиме offload нужно выполнить команду:

Ответ:

 (1) amplxe-cl –collect knc-lightweight-hotspots –knob target-cards=0,1 –result-dir ./program_cmd -- ./program.out 

 (2) amplxe-cl –collect knc-lightweight-hotspots –reslut-dir ./program-cmd -- ssh mic0 “export LD_LIBRARY_PATH=~/; export OMP_NUM_THREADS=244; export KMP_AFFINITY=balanced; ./program.out”  

 (3) amplxe-cl –collect-with runsa-knc –knob event-config=CPU_CLK_UNHALTED,L2_DATA_READ_MISS_MEM_FILL:sa=1000, L2_DATA_WRITE_MISS_MEM_FILL,L2_VICTIM_REQ_WITH_DATA,SNP_HINT_L2,HWP_L2MISS –knob target-cards=0,1 –result-dir ./program-cmd -- ./program.out  


Упражнение 10:
Номер 1
Для просмотра списка наиболее медленных функций по конкретному запуску приложения с помощью Intel VTune Amplifier необходимо выполнить команду:

Ответ:

 (1) amplxe-cl –report summary –r ./offload_cmd/ 

 (2) amplxe-cl –report hotspots –r ./offload_cmd/ 

 (3) amplxe-cl –report hw-events –r ./offload_cmd/ 


Номер 2
Для получения информации об аппаратных событиях, произошедших за время работы приложения, запущенного с помощью Intel VTune Amplifier, необходимо выполнить команду:

Ответ:

 (1) amplxe-cl –report summary –r ./offload_cmd/ 

 (2) amplxe-cl –report hotspots –r ./offload_cmd/ 

 (3) amplxe-cl –report hw-events –r ./offload_cmd/ 


Номер 3
Для просмотра общей статистики по конкретному запуску приложения с помощью Intel VTune Amplifier необходимо выполнить команду:

Ответ:

 (1) amplxe-cl –report summary –r ./offload_cmd/ 

 (2) amplxe-cl –report hotspots –r ./offload_cmd/ 

 (3) amplxe-cl –report hw-events –r ./offload_cmd/ 




Главная / Программирование / Программирование на современных мультиядерных архитектурах (на примере Intel Xeon Phi) / Тест 2