Обсуждение участника:Stalles

Материал из Алговики
Версия от 23:48, 14 декабря 2016; Stalles (обсуждение | вклад) (→‎Пункт 1.5)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

--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 Замечания по тексту