Справка по практическому заданию - весенний семестр_ (Весенний семестр)
Описание файла
Файл "Справка по практическому заданию - весенний семестр_" внутри архива находится в папке "Весенний семестр". Документ из архива "Весенний семестр", который расположен в категории "". Всё это находится в предмете "параллельные методы решения задач" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "Справка по практическому заданию - весенний семестр_"
Текст из документа "Справка по практическому заданию - весенний семестр_"
http://lira.imamod.ru/msu201602/ - Задание весеннего семестра 2015-2016.
Как видите, заданий 2 на выбор. У нас вся группа делала вариант с неявной схемой, так как он полностью делается вручную. Если хотите делать вариант с явной схемой - нужно подойти к Михаилу Владимировичу в день выдачи задания или вскоре после ( нужно будет взять какую-то из библиотек для декомпозиции графов и разобраться, как она работает ). Далее всё посвящено варианту с неявной схемой.
В PDF-ке “Методы прогонки” подробно расписано, как работают методы прогонки, в том числе и тот, который нужно использовать.
В архивчике “Trans_solver_sequental” лежит последовательная реализация, относительно неё нужно считать ускорение параллельной версии.
В архивчике “Trans_solver” лежит параллельная реализация решателя.
В файлике “Verify” лежит код консольной утилиты. Компилите, в качестве аргументов даёте результаты работы последовательной и параллельной реализаций. Она выдаст норму ошибки. Меньше - лучше :-)
В PDF-ке “Отчет_неявная_схема” ( odt дублирует его ) расписано, как всё это работает. Отчёт такого формата нужно представить Якобовскому.
Важно:
-
В отчете описано “2 варианта расчета”. Правильный вариант - первый, его и нужно делать. Второй - это случайно найденный “лайфхак”, который мы обсуждали с Михаилом Владимировичем. Если вы “случайно” найдете его же, это будет подозрительно. Проверьте, какой вариант реализован в коде программы ( норма ошибки варианта с хаком не зависит от размера сетки ).
-
Этот вариант программы не до конца правильный. При каждом вызове Iterate на каждой итерации внешнего цикла ( как по width, так и по length ) процесс-”мастер” в одиночку рассчитывает “маленькую матрицу” из нижних строк. Правильно создать field_length ( field_width во втором большом цикле ) маленьких матриц - по 1 на процессор и рассчитать их одновременно.