Создан заказ №2126240
30 мая 2017
(C/C++) Умножение матриц с применением векторных расширений AVX
Как заказчик описал требования к работе:
Диплом по большей части нужен как отписка, чтобы получить тройку. Есть пример дипломной работы по другой теме.
Знаю, что сроки небольшие, готов содействовать. Небольшая часть материалов есть (программа, статьи на которые можно опираться).
Полная тема — "Умножение матриц с применением векторных рас
ширений современных процессоров семейства x86".
Примерно нужно сделать следующее — сравнить различные методы умножения матриц (в общем накидать теории, графиков для объёма). Реализация — программа, сравнивающая SSE, AVX и тривиальный алгоритм умножения.
Исходник программы есть, думаю, можно будет им воспользоваться, но скорее всего потребуется поправка на матрицы больших размерностей (это уточню сегодня-завтра, на данный момент программа работает с матрицами размера 4 на 4). Научный руководитель так же подсказал некоторые материалы, которыми можно будет воспользоваться для наполнения, в частности его статьи
подробнее
Фрагмент выполненной работы:
ВВЕДЕНИЕ
Актуальность. Начиная с середины 20 века, программирование проделало большой путь и постоянно продолжает развиваться. В наши времена программирование в машинных кодах практически стало историей, а разработка программ на ассемблере имеет смысл в весьма ограниченном числе случаев. Одна из причин этого – невероятно возросший интеллект компиляторов языков высокого уровня таких как C, C++, Fortran, ориентированных на высокопроизводительные вычисления (high performance computing, HPC). (работа была выполнена специалистами author24.ru) Ни на миг, не отвлекаясь от главной задачи – генерации корректного кода, оптимизирующие компиляторы умудряются выполнять многочисленные эквивалентные (точно или с точностью до разрешенных отклонений, например, при изменении порядка операций с плавающей запятой) преобразования, изменяя код до неузнаваемости и обеспечивая производительность, часто сопоставимую с хорошей программой на ассемблере. Важный момент применения кода состоит в использовании новых команд и наборов команд, добавленных в процессор его производителем. Таким образом, любое расширение набора команд является важным событием, не остается незамеченным в индустрии и быстро "подхватывается" разработчиками компиляторов. В данной дипломной работе рассматривается умножение матриц с применением векторных расширений. Что такое векторные расширения? Это дополнение в набор команд процессора, содержащее специализированные типы данных, регистры и инструкции, ориентированные на использование парадигмы SIMD – Single Instruction Multiple Data. Суть парадигмы SIMD заключается в выполнении одной командой однотипных операций над пакетом данных. При этом реализуется один из видов параллельной обработки данных, что открывает возможность существенного повышения производительности вычислительных программ. Матрицы и матричные операции широко используются при математическом моделировании самых разнообразных процессов, явлений и систем. Матричные вычисления составляют основу многих научных и инженерных расчетов – среди областей приложений могут быть указаны вычислительная математика, физика, экономика и др. С учетом значимости эффективного выполнения матричных расчетов многие стандартные библиотеки программ содержат процедуры для различных матричных операций. Объем программного обеспечения для обработки матриц постоянно увеличивается – разрабатываются новые экономные структуры хранения для матриц специального типа (треугольных, ленточных, разреженных и т.п.), создаются различные высокоэффективные машинно-зависимые реализации алгоритмов, проводятся теоретические исследования для поиска более быстрых методов матричных вычислений. Являясь вычислительно-трудоемкими, матричные вычисления представляют собой классическую область применения параллельных вычислений. С одной стороны, использование высокопроизводительных многопроцессорных систем позволяет существенно повысить сложность решаемых задач. С другой стороны, в силу своей достаточно простой формулировки матричные операции предоставляют прекрасную возможность для демонстрации многих приемов и методов параллельного программирования. Данное противоречие и обусловило актуальность темы исследования.
Целью дипломной работы является систематизация теоретических знаний относительно заявленной темы и сравнение алгоритмов умножения матриц на базе SSE и AVX;
Объект: умножение матриц;
Предмет: умножение матриц с применением векторных разрешений современных процессоров семейства x86;
Задачи: 1.Рассмотреть алгоритмы умножения матриц; 2.Изучить эффективность алгоритмов умножения матриц; 3.Рассмотреть основные понятия векторных расширений; 4.Показать разновидности современных процессоров семейства x86; 5. Изучить режимы архитектуры х86;6.Провести сравнение умножения матриц с применением векторных расширенийПосмотреть предложения по расчету стоимости
Заказчик
заплатил
заплатил
3000 ₽
Заказчик оплатил в рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик принял работу без использования гарантии
6 июня 2017
Заказ завершен, заказчик получил финальный файл с работой
5
(C/C++) Умножение матриц с применением векторных расширений AVX.docx
2021-02-18 12:07
Последний отзыв студента о бирже Автор24
Общая оценка
4.1
Положительно
Это просто максимально топовый человечек! Который способен перевернуть мир! Каждый студент которого я знаю, гарантировано будут ссылатся на этого автора! Это ультра опытный человек!