Оптимизация программного обеспечения (ДВ 4.2). 15 вариант
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Методические указания и задание на выполнение курсовой работы
Задание
1. Написать вычислительную подпрограмму по заданию варианта.
2. Реализовать возможность вызова полпрограммы из п.1 в цикле для заданного диапазона размеров матрицы или вектора с заданным шагом приращения размера.
3. Встроить измерение времени выполнения главной вычислительной операции с помощью таймера с заданным вариантом таймера.
4. Собрать статистику времени выполнения вычислительной подпрограммы для нескольких уровней оптимизации в выбранном компиляторе. Построить графики зависимости времени выполнения от размеров.
5. (только для варианта с умножением матриц) провести транспонирование второй матрицы, сделать обход по ней по строкам, повторить для этого варианта реализации п. 4.
6. векторизовать вычисления в теле самого вложенного цикла вычислительной подпрограммы. Повторить для этого варианта реализации п. 4.
7. (для все вариантов, кроме решения системы линейных уравнений) Реализовать многопоточный вариант вычислительной процедуры. Замерить ускорение для различного числа потоков по сравнению с последовательной версией.
8. (только для скалярного произведения векторов) Объединить векторизованную версию и многопоточную. Оценить полученный выигрыш в производительности по сравнению с последовательной, векторной и многопоточной версиями.
Рекомендации по выполнению работы
Векторизованную версию вычислительной процедуры можно реализовать с помощью SIMD/SSE интринсиков или ассемблерных вставок с SIMD/SSE командами. Если имеется компьютер с процессором с AVX, желательно построить версию на AVX и сравнить выигрыш с SSE.
Многопоточную версию вычислительной процедуры можно реализовать с помощью OpenMP, POSIX Threads или Windows Threads.
Требования к оформлению отчета
Отчет может быть представлен в форматах PDF, DOC, DOCX, ODF и содержать следующие разделы:
1. Титульный лист
2. Текст задания (файл с расширением .doc) с указанием выбранного варианта задания, таймера.
3. Исходные тексты всех реализаций
4. Графики (с подписанными названиями осей, размерностей, приведенной легендой, графики должны иметь различимые цвета или различную штриховку)
5. Выводы с интерпретацией результатов
При невыполнении какого-либо из требований к оформлению работа проверяться не будет.
Перечень вариантов и текст задания
(номер вариант выбирается по последней цифре пароля)
1. Умножение двух квадратных матриц. Элементы матрицы имеют тип float.
2. Скалярное произведение двух векторов. Элементы векторов имеют тип float.
3. Решение системы линейных уравнений методом Гаусса для переменных типа float
4. Умножение двух квадратных матриц. Элементы матрицы имеют тип long.
5. Скалярное произведение двух векторов. Элементы векторов имеют тип long.
6. Вычисление свертки двух сигналов. Тип элемента, хранящего значение отсчета сигнала, - float
7. Вычисление свертки двух сигналов. Тип элемента, хранящего значение отсчета сигнала, - long
8. Умножение двух прямоугольных матриц. Элементы матрицы имеют тип short.
9. Скалярное произведение двух векторов. Элементы векторов имеют тип short.
10. Умножение двух квадратных матриц. Элементы матрицы имеют тип unsigned long.
11.
Варианты выбора таймера (номер вариант выбирается по предпоследней цифре пароля)
1,5, 9 - Таймер астрономического времени (системный таймер)
2, 6, 0 - Монотонный таймер
3, 7 - Таймер времени выполнения процесса
4, 8 - Счетчик тактов
Задание
1. Написать вычислительную подпрограмму по заданию варианта.
2. Реализовать возможность вызова полпрограммы из п.1 в цикле для заданного диапазона размеров матрицы или вектора с заданным шагом приращения размера.
3. Встроить измерение времени выполнения главной вычислительной операции с помощью таймера с заданным вариантом таймера.
4. Собрать статистику времени выполнения вычислительной подпрограммы для нескольких уровней оптимизации в выбранном компиляторе. Построить графики зависимости времени выполнения от размеров.
5. (только для варианта с умножением матриц) провести транспонирование второй матрицы, сделать обход по ней по строкам, повторить для этого варианта реализации п. 4.
6. векторизовать вычисления в теле самого вложенного цикла вычислительной подпрограммы. Повторить для этого варианта реализации п. 4.
7. (для все вариантов, кроме решения системы линейных уравнений) Реализовать многопоточный вариант вычислительной процедуры. Замерить ускорение для различного числа потоков по сравнению с последовательной версией.
8. (только для скалярного произведения векторов) Объединить векторизованную версию и многопоточную. Оценить полученный выигрыш в производительности по сравнению с последовательной, векторной и многопоточной версиями.
Рекомендации по выполнению работы
Векторизованную версию вычислительной процедуры можно реализовать с помощью SIMD/SSE интринсиков или ассемблерных вставок с SIMD/SSE командами. Если имеется компьютер с процессором с AVX, желательно построить версию на AVX и сравнить выигрыш с SSE.
Многопоточную версию вычислительной процедуры можно реализовать с помощью OpenMP, POSIX Threads или Windows Threads.
Требования к оформлению отчета
Отчет может быть представлен в форматах PDF, DOC, DOCX, ODF и содержать следующие разделы:
1. Титульный лист
2. Текст задания (файл с расширением .doc) с указанием выбранного варианта задания, таймера.
3. Исходные тексты всех реализаций
4. Графики (с подписанными названиями осей, размерностей, приведенной легендой, графики должны иметь различимые цвета или различную штриховку)
5. Выводы с интерпретацией результатов
При невыполнении какого-либо из требований к оформлению работа проверяться не будет.
Перечень вариантов и текст задания
(номер вариант выбирается по последней цифре пароля)
1. Умножение двух квадратных матриц. Элементы матрицы имеют тип float.
2. Скалярное произведение двух векторов. Элементы векторов имеют тип float.
3. Решение системы линейных уравнений методом Гаусса для переменных типа float
4. Умножение двух квадратных матриц. Элементы матрицы имеют тип long.
5. Скалярное произведение двух векторов. Элементы векторов имеют тип long.
6. Вычисление свертки двух сигналов. Тип элемента, хранящего значение отсчета сигнала, - float
7. Вычисление свертки двух сигналов. Тип элемента, хранящего значение отсчета сигнала, - long
8. Умножение двух прямоугольных матриц. Элементы матрицы имеют тип short.
9. Скалярное произведение двух векторов. Элементы векторов имеют тип short.
10. Умножение двух квадратных матриц. Элементы матрицы имеют тип unsigned long.
11.
Варианты выбора таймера (номер вариант выбирается по предпоследней цифре пароля)
1,5, 9 - Таймер астрономического времени (системный таймер)
2, 6, 0 - Монотонный таймер
3, 7 - Таймер времени выполнения процесса
4, 8 - Счетчик тактов
Дополнительная информация
Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Оптимизация программного обеспечения (ДВ 4.2)
Вид работы: Курсовая работа
Оценка:Отлично
Дата оценки: 07.05.2019
Рецензия:
Работа выполнена качественно, существенных замечаний нет.
С уважением,
МБ
...
Оценена Ваша работа по предмету: Оптимизация программного обеспечения (ДВ 4.2)
Вид работы: Курсовая работа
Оценка:Отлично
Дата оценки: 07.05.2019
Рецензия:
Работа выполнена качественно, существенных замечаний нет.
С уважением,
МБ
...
Похожие материалы
Вариант №15. Оптимизация программного обеспечения (ДВ 4.2)
nura
: 28 мая 2019
Билет №23
5) При выполнении многопоточной программы, использующей POSIX Threads, завершение работы функции main в случае, когда могут еще выполняться другие потоки производится с помощью:
1. вызова оператора return
2. вызова функции _exit
3. вызова функции pthread_exit
4. вызова функции pthread_create
6) Разработчик может заниматься оптимизацией разрабатываемого обеспечения на следующих этапах:
1. при формировании спецификации
2. при проектировании
3. при реализации
4. при сопровождении
5. на
300 руб.
Курсовая работа по дисциплине: Оптимизация программного обеспечения. Вариант №15
IT-STUDHELP
: 29 апреля 2021
Вариант № 15
1. Задание
1. Напиcать вычиcлительную подпрограмму для cкалярного произведения двух векторов. Элементы векторов имеют тип long.
2. Реализовать возможноcть вызова подпрограммы из п.1 в цикле для заданного диапазона размеров вектора c заданным шагом приращения размера.
3. Вcтроить измерение времени выполнения главной вычиcлительной операции c помощью таймера аcтрономичеcкого времени (cиcтемного таймера).
4. Cобрать cтатиcтику времени выполнения вычиcлительной подпрограммы для неcколь
950 руб.
Курсовая работа по дисциплине: Оптимизация программного обеспечения. Вариант 15
Roma967
: 15 августа 2019
Содержание
Задание 3
1. Исходные тексты всех реализаций 4
1.1 Последовательный вариант вычислительной подпрограммы скалярного произведения двух векторов 4
1.2 Векторизованный вариант вычислительной подпрограммы скалярного произведения двух векторов 5
1.3 Многопоточный вариант вычислительной подпрограммы скалярного произведения двух векторов 6
1.4 Многопоточный векторизованный вариант вычислительной подпрограммы скалярного произведения двух векторов 7
2. Графики зависимости времени выполнения 8
1500 руб.
Оптимизация программного обеспечения. Вариант №10
LowCost
: 1 февраля 2022
Задание
1. Написать вычислительную подпрограмму по заданию варианта.
2. Реализовать возможность вызова подпрограммы из п.1 в цикле для заданного диапазона размеров матрицы или вектора с заданным шагом приращения размера.
3. Встроить измерение времени выполнения главной вычислительной операции с помощью таймера с заданным вариантом таймера.
4. Собрать статистику времени выполнения вычислительной подпрограммы для нескольких уровней оптимизации в выбранном компиляторе. Построить графики зависимости
249 руб.
Оптимизация программного обеспечения. Билет №77
IT-STUDHELP
: 30 декабря 2021
Билет №77
1) Более экономное использование шины памяти достигается при использовании
1. сквозной записи
2. обратной записи
3. одинаково для сквозной и обратной записи
6) Разработчик может заниматься оптимизацией разрабатываемого обеспечения на следующих этапах:
1. при формировании спецификации
2. при проектировании
3. при реализации
4. при сопровождении
5. на всех выше перечисленных этапах
8) Более плотное размещение и большая локальность:
1. достигается при представлении данных в виде массив
500 руб.
«Оптимизация программного обеспечения». Билет №11
boeobq
: 4 декабря 2021
Вопросы билета.
4) Какой таймер ОС не может быть программно изменен и предпочтителен для замера времени выполнения подпрограмм?
1. таймер астрономического времени
2. таймер монотонного времени
3. счетчик тактов микропроцессора
5) При выполнении многопоточной программы, использующей POSIX Threads, завершение работы функции main в случае, когда могут еще выполняться другие потоки производится с помощью:
1. вызова оператора return
2. вызова функции _exit
3. вызова функции pthread_exit
4. вызова фу
300 руб.
Оптимизация программного обеспечения. Билет №10
Damovoy
: 3 декабря 2021
Билет №10
8) Более плотное размещение и большая локальность:
1. достигается при представлении данных в виде массива записей
2. достигается при представлении данных в виде записи массивов
3. зависит от характера доступа к данным в конкретной задаче
11) Кто выявляет независимых команды в суперскалярной архитектуре и VLIW
1. Компилятор
2. В суперскаляре – компилятор, во VLIW – процессор
3. В суперскаляре – процессор, во VLIW – компилятор
4. Процессор
13) При работе с двумерными массивами на Си п
180 руб.
Оптимизация программного обеспечения. Билет №81
IT-STUDHELP
: 2 декабря 2021
Билет №81
1) Более экономное использование шины памяти достигается при использовании
1. сквозной записи
2. обратной записи
3. одинаково для сквозной и обратной записи
4) Какой таймер ОС не может быть программно изменен и предпочтителен для замера времени выполнения подпрограмм?
1. таймер астрономического времени
2. таймер монотонного времени
3. счетчик тактов микропроцессора
7) Промах при доступе к кэшу, который происходит, когда обращаются к блокам памяти, занимающим одну и ту же строку кэша
500 руб.
Другие работы
Теплотехника Задача 12.23
Z24
: 9 февраля 2026
1 м³ кислорода, находящегося в начальном состоянии при нормальных условиях, сжимают до конечной температуры t2=250 ºC. Сжатие производится: а) изохорно; б) изобарно; в) адиабатно; г) политропно с n=1,2. Считая значение энтропии при нормальных условиях равным нулю, определить энтропию воздуха в конце каждого сжатия.
200 руб.
Суров Г.Я. Гидравлика и гидропривод в примерах и задачах Задача 14.4 Вариант 8
Z24
: 18 октября 2025
На рис. 14.5 приведена схема нерегулируемого объемного гидропривода вращательного движения. Известны: подача насоса Qн, номинальное давление насоса рн, КПД насоса ηн, рабочий объем гидромотора qм, механический КПД гидромотора ηм.м, объемный ηм.о; потери давления в распределителе Δрр, в фильтре Δрф; общая длина l и диаметр d гидролиний, сумма коэффициентов местных сопротивлений Σζ; температура рабочей жидкости Т = 50 ºС; рабочая жидкость – И-20А (ρ = 900 кг/м³, ν50 = 20·10-6 м²/с).
Требуется о
150 руб.
Оптические системы передачи, вариант 12
СибГУТИ 2026
: 25 октября 2025
Задача 1
Определить затухание (ослабление), дисперсию, полосу пропускания и максимальную скорость передачи двоичных импульсов в волоконно-оптической системе с длиной секции L (км), километрическим (погонным) затуханием (ослаблением) a (дБ/км) на длине волны излучения передатчика l 0 (мкм), ширине спектра излучения D l 0,5 на уровне половины максимальной мощности излучения. Данные для задачи приведены в таблицах 1.1 и 1.2.
Задача 2
По данным таблицы 2.1 построить зависимость выходной мощност
500 руб.
Фланец ВШН
https://vk.com/aleksey.nakonechnyy27
: 12 марта 2016
Флянец (от нем. Flansch) — плоская деталь квадратной или круглой формы с равномерно расположенными отверстиями для болтов и шпилек, служащая для прочного и герметичного соединения труб, трубопроводной арматуры, присоединением труб друг к другу, к машинам, аппаратам и ёмкостям, для соединения валов и других вращающихся деталей (фланцевое соединение). Фланцы используют попарно (комплектом). Исполнение фланцев по ГОСТ 12820—80 и ГОСТ 12821—80 регламентирует ГОСТ 12815—80, и оно зависит от рабочего
200 руб.