Обсуждение участника:Stalles: различия между версиями
Stalles (обсуждение | вклад) |
Stalles (обсуждение | вклад) |
||
Строка 50: | Строка 50: | ||
--[[Участник:Бобцов_Борис|Бобцов Борис]] 22:40, 14 декабря 2016 (MSK) | --[[Участник:Бобцов_Борис|Бобцов Борис]] 22:40, 14 декабря 2016 (MSK) | ||
− | + | Исправлено | |
== Пункт 2.4 == | == Пункт 2.4 == |
Версия 23:27, 14 декабря 2016
--Evgeny Mortikov (обсуждение) 05:06, 3 декабря 2016 (MSK) Хорошее описание метода и алгоритма. Есть несколько замечаний по содержанию и вопросы по исследованию масштабируемости (ниже с моей подписью)
Содержание
1 Пункт 1.2.2
--Evgeny Mortikov (обсуждение) 05:06, 3 декабря 2016 (MSK)
Однако можно заметить, что координаты концов обрабатываемых отрезков хранятся в программном стеке процесса [math]IntTrap() [/math], и недоступны программисту.
Что подразумевается под недоступностью стека для программиста, если далее рассматривается работа с этим стеком? Нужно пояснить это утверждение.
--Бобцов Борис 22:32, 14 декабря 2016 (MSK)
Исправлено
2 Пункт 1.2.3
--Evgeny Mortikov (обсуждение) 05:06, 3 декабря 2016 (MSK)
Данный алгоритм использует массив данных, доступ к которым осуществляется по принципу стека - первым удаляется последний из добавленных элементов. Теперь у разных процессов есть возможность обрабатывать отрезки независимо друг от друга.
Нужно описать немного подробнее, как из определения стека появляется возможность обрабатывать отрезки независимо друг от друга.
--Бобцов Борис 22:32, 14 декабря 2016 (MSK)
Исправлено
Алгоритм локального стека можно считать наилучшим из перечисленных последовательных методов для разработки его параллельной версии.
Где в работе были перечислены последовательные методы, которые здесь сравниваются? С какой точки зрения локальный стек является наилучшим, по сравнению с ними?
3 Пункт 1.5
--Evgeny Mortikov (обсуждение) 05:06, 3 декабря 2016 (MSK)
if( abs( sab - sabc ) > [math]\epsilon[/math] * abs ( sabc ) ) //[math]\epsilon[/math] - заданная точность
Не отличается ли здесь условие на деление отрезка от того, что приведено в пункте 1.2.1?
--Бобцов Борис 22:37, 14 декабря 2016 (MSK)
Не отличается, так как во всех перечисленных в работе алгоритмах как раз и используется метод трапеций.
4 Пункт 1.9
--Evgeny Mortikov (обсуждение) 05:06, 3 декабря 2016 (MSK)
Функция может иметь любой вид представления, однако это представление "константно", то есть можно считать, что объём равен [math] O\left( 1 \right) [/math].
Объём равен [math] O\left( 1 \right) [/math] - это уже не любой вид представления функции.
--Бобцов Борис 22:40, 14 декабря 2016 (MSK)
Исправлено
5 Пункт 2.4
--Evgeny Mortikov (обсуждение) 05:06, 3 декабря 2016 (MSK)
Правильно ли я понимаю, что представленные результаты по исследованию масштабируемости относятся к несколько другому алгоритму – рассматривается равномерное разбиение отрезка по MPI процессам, а в рамках каждого рассчитывается алгоритм с адаптивной сеткой? Можно ли по полученным результатам судить о масштабируемости исследуемого алгоритма? Нужно это пояснить в работе.
Есть ли в реализации глобальный стек, который описан в работе?
--Бобцов Борис 22:32, 14 декабря 2016 (MSK)
-Правильно.
-Если честно, не очень понимаю, почему нельзя судить о масштабируемости. В задании нужно было показать масштабируемость - зависимость производительности от числа процессоров. Полученные результаты как раз эту зависимость и демонстрируют.
-Глобального стека в реализации нет. Насколько я понимаю, и в требованиях учебного задания его тоже нет. В задании сказано реализовать алгоритм с адаптивной сеткой, а про метод распараллеливания конкретно ничего не было сказано. Алгоритм геометрического параллелизма был выбран из-за минимума межпроцессорного общения и относительно низкой сложности реализации. Кстати, этот алгоритм также описан в работе.
6 Статья Участник:Бобцов Борис/Вычисление определенного интеграла с использованием адаптивно сгущающейся сетки
6.1 Замечания по тексту
- В разделе 1.4 требуется привести описание алгоритма на верхнем уровне (на основе макроопераций), а не то, что там сейчас. Александр Сергеевич Антонов (обсуждение) 18:25, 1 ноября 2016 (MSK)
- В разделе 1.5 кроме кода нужны также текстовые пояснения. Александр Сергеевич Антонов (обсуждение) 18:25, 1 ноября 2016 (MSK)
- Граф, приведённый в разделе 1.7 не является информационным графом (ациклический граф, вершины - операции, дуги - информационные зависимости). Александр Сергеевич Антонов (обсуждение) 18:25, 1 ноября 2016 (MSK)
- Граф на рис.1 не является графом алгоритма, как написано в подписи к нему. Граф на рис.2 также является каким-то гибридом информационного графа и графа управления - в частности, содержит ветвления, которых в информационном графе быть не должно. Александр Сергеевич Антонов (обсуждение) 14:57, 14 ноября 2016 (MSK)
- В разделе 1.9 должны быть оценки объёмов входных и выходных данных. Александр Сергеевич Антонов (обсуждение) 15:00, 14 ноября 2016 (MSK)
- В части 2 должны быть все разделы 2.1-2.7 (некоторые могут быть пустыми). Александр Сергеевич Антонов (обсуждение) 15:00, 14 ноября 2016 (MSK)
- Не заполнен раздел 2.4 описания. Александр Сергеевич Антонов (обсуждение) 16:04, 16 ноября 2016 (MSK)
- В разделе 2.4 не приведены все параметры запуска теста - какой компилятор, с какими опциями использовался, какие версии библиотек, на каких узлах проводился запуск и т.д. Александр Сергеевич Антонов (обсуждение) 14:31, 21 ноября 2016 (MSK)
- Замечание не исправлено. Александр Сергеевич Антонов (обсуждение) 15:21, 28 ноября 2016 (MSK)
- В разделе 2.4 не приведена использованная в экспериментах реализация алгоритма. Александр Сергеевич Антонов (обсуждение) 14:31, 21 ноября 2016 (MSK)
- Замечание не исправлено. Александр Сергеевич Антонов (обсуждение) 15:21, 28 ноября 2016 (MSK)
- Из графиков в разделе 2.4 следует сделать выводы о масштабируемости реализации. Александр Сергеевич Антонов (обсуждение) 14:31, 21 ноября 2016 (MSK)