Обсуждение участника:Protsenko: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
 
(не показано 11 промежуточных версий 3 участников)
Строка 2: Строка 2:
  
 
=== Замечания по тексту ===
 
=== Замечания по тексту ===
 +
 +
* 1.8 — Непонятна схема распараллеливания для такой оценки сложности. У вас C*K процессов? [[Участник:Chalker|Chalker]] ([[Обсуждение участника:Chalker|обсуждение]]) 22:43, 17 декабря 2016 (MSK)
 +
 +
В самом лучшем случае, для вычисления суммы n чисел нам потребуется выполнить <math>\log_{2} </math>сложений. (Каскадная схема). Это описан самый быстрый из существующих способ.
 +
 +
В MPI используем K процессов (так как количество процессов ограничено, то на один процесс может выделяться больше одного вектора) и каждый процесс по отдельности обрабатывает свои вектора с использование OpenMP.
 +
 +
* 1.8 — Даже эту формулу можно записать проще по тривиальным свойствам логарифма. [[Участник:Chalker|Chalker]] ([[Обсуждение участника:Chalker|обсуждение]]) 22:43, 17 декабря 2016 (MSK)
 +
 +
Данная формула была приведена в таком виде что бы показать соотношение влияния количества кластеров и количества векторов на сложность алгоритма. Можем упростить ее, если так лучше.
 +
 +
* 1.8 — Схема распараллеливания должна быть описана более детально. [[Участник:Chalker|Chalker]] ([[Обсуждение участника:Chalker|обсуждение]]) 22:43, 17 декабря 2016 (MSK)
 +
 +
Описали схему подробнее.
 +
 +
 +
* Сложность не зависит от N? В оценке сложности не учтена размерность входных векторов. [[Участник:Chalker|Chalker]] ([[Обсуждение участника:Chalker|обсуждение]]) 20:14, 17 декабря 2016 (MSK)
 +
 +
Исправлено.
 +
 +
* 1.6 — в терминах каких операций измеряется сложность? [[Участник:Chalker|Chalker]] ([[Обсуждение участника:Chalker|обсуждение]]) 20:14, 17 декабря 2016 (MSK)
 +
 +
Подсчитаны операции умножения и деления.
 +
В разделе "вычисление центров кластеров" будет C*K умножений для вычисления числителя. (Деление числителя на знаменатель будет выполняться С раз, что на порядок меньше).
 +
Для раздела "вычисление решающей функции" посчитано количество умножений C*K раз. (Деления в этом разделе нет)
 +
Для обновления матрицы посчитано количество операций деления С*C*K (Порядок у деления m[i,k]=1/m[i,k] ниже)
 +
 +
* 2.4 — я не совсем понимаю, на какой именно конфигурации выполнялся анализ масштабируемости. Там написано, что используется OpenMP (для систем с общей памятью), суперкомпьютер Ломоносов, а количество процессоров доходит до 120. Я не вижу таких узлов в Ломоносове в его описании [http://parallel.ru/cluster/lomonosov.html]. Можете пояснить? [[Участник:Chalker|Chalker]] ([[Обсуждение участника:Chalker|обсуждение]]) 18:31, 5 декабря 2016 (MSK)
 +
 +
Запускали в тестовой очереди. В тексте допустили неточность, для передачи данных данных использовали MPI. Запустили еще раз, номер node1-130-[01-16]. 120- количество потоков.
 +
 +
** Текст до сих пор не исправлен, в приведённой реализации тоже используется OpenMP, а не MPI. Если используется она — то это запускается на одном узле. Данные точно верны? [[Участник:Chalker|Chalker]] ([[Обсуждение участника:Chalker|обсуждение]]) 20:14, 17 декабря 2016 (MSK)
 +
 +
Исправили текст.
 +
В MPI используем K процессов (так как количество процессов ограничено, то на один процесс может выделяться больше одного вектора) и каждый процесс по отдельности обрабатывает свои вектора с использование OpenMP.
 +
В зависимости от номера процесса определяется какие вектора он будет обрабатывать. Каждый процесс обрабатывает свои вектора, а потом собирается общий результат.
 +
----
 +
 
* В разделе 1.5  кроме текста программы нужны словесные пояснения. [[Участник:ASA|Александр Сергеевич Антонов]] ([[Обсуждение участника:ASA|обсуждение]]) 16:38, 27 октября 2016 (MSK)
 
* В разделе 1.5  кроме текста программы нужны словесные пояснения. [[Участник:ASA|Александр Сергеевич Антонов]] ([[Обсуждение участника:ASA|обсуждение]]) 16:38, 27 октября 2016 (MSK)
 
* Граф, представленный в разделе 1.7, не является информационным графом (ациклический граф, вершины - операции, дуги - информационные зависимости). [[Участник:ASA|Александр Сергеевич Антонов]] ([[Обсуждение участника:ASA|обсуждение]]) 16:38, 27 октября 2016 (MSK)
 
* Граф, представленный в разделе 1.7, не является информационным графом (ациклический граф, вершины - операции, дуги - информационные зависимости). [[Участник:ASA|Александр Сергеевич Антонов]] ([[Обсуждение участника:ASA|обсуждение]]) 16:38, 27 октября 2016 (MSK)
Строка 7: Строка 45:
  
 
* В разделе 1.9 требуется привести оценки объёма входных и выходных данных. [[Участник:ASA|Александр Сергеевич Антонов]] ([[Обсуждение участника:ASA|обсуждение]]) 16:38, 27 октября 2016 (MSK)
 
* В разделе 1.9 требуется привести оценки объёма входных и выходных данных. [[Участник:ASA|Александр Сергеевич Антонов]] ([[Обсуждение участника:ASA|обсуждение]]) 16:38, 27 октября 2016 (MSK)
 +
 +
* Подписи к рисунку в разделе 2.4 крайне мелкие, почти неразличимые. [[Участник:ASA|Александр Сергеевич Антонов]] ([[Обсуждение участника:ASA|обсуждение]]) 15:19, 16 ноября 2016 (MSK)
 +
* В разделе 2.4 не приведены все параметры запуска теста - какой компилятор, с какими опциями использовался, какие версии библиотек, на каких узлах проводился запуск и т.д. [[Участник:ASA|Александр Сергеевич Антонов]] ([[Обсуждение участника:ASA|обсуждение]]) 15:19, 16 ноября 2016 (MSK)
 +
* В разделе 2.4 не приведена использованная в экспериментах реализация алгоритма. [[Участник:ASA|Александр Сергеевич Антонов]] ([[Обсуждение участника:ASA|обсуждение]]) 15:19, 16 ноября 2016 (MSK)
 +
* Рисунки в статье не пронумерованы. [[Участник:ASA|Александр Сергеевич Антонов]] ([[Обсуждение участника:ASA|обсуждение]]) 14:04, 21 ноября 2016 (MSK)
 +
* Из графиков в разделе 2.4 следует сделать выводы о масштабируемости реализации. [[Участник:ASA|Александр Сергеевич Антонов]] ([[Обсуждение участника:ASA|обсуждение]]) 14:04, 21 ноября 2016 (MSK)
 +
 +
  
 
Исправлено
 
Исправлено
 +
 +
Граф исправлен еще раз

Текущая версия на 02:54, 20 декабря 2016

1 Статья Участник:ADovganich/Нечеткий алгоритм С средних

1.1 Замечания по тексту

  • 1.8 — Непонятна схема распараллеливания для такой оценки сложности. У вас C*K процессов? Chalker (обсуждение) 22:43, 17 декабря 2016 (MSK)

В самом лучшем случае, для вычисления суммы n чисел нам потребуется выполнить [math]\log_{2} [/math]сложений. (Каскадная схема). Это описан самый быстрый из существующих способ.

В MPI используем K процессов (так как количество процессов ограничено, то на один процесс может выделяться больше одного вектора) и каждый процесс по отдельности обрабатывает свои вектора с использование OpenMP.

  • 1.8 — Даже эту формулу можно записать проще по тривиальным свойствам логарифма. Chalker (обсуждение) 22:43, 17 декабря 2016 (MSK)

Данная формула была приведена в таком виде что бы показать соотношение влияния количества кластеров и количества векторов на сложность алгоритма. Можем упростить ее, если так лучше.

  • 1.8 — Схема распараллеливания должна быть описана более детально. Chalker (обсуждение) 22:43, 17 декабря 2016 (MSK)

Описали схему подробнее.


  • Сложность не зависит от N? В оценке сложности не учтена размерность входных векторов. Chalker (обсуждение) 20:14, 17 декабря 2016 (MSK)

Исправлено.

  • 1.6 — в терминах каких операций измеряется сложность? Chalker (обсуждение) 20:14, 17 декабря 2016 (MSK)

Подсчитаны операции умножения и деления. В разделе "вычисление центров кластеров" будет C*K умножений для вычисления числителя. (Деление числителя на знаменатель будет выполняться С раз, что на порядок меньше). Для раздела "вычисление решающей функции" посчитано количество умножений C*K раз. (Деления в этом разделе нет) Для обновления матрицы посчитано количество операций деления С*C*K (Порядок у деления m[i,k]=1/m[i,k] ниже)

  • 2.4 — я не совсем понимаю, на какой именно конфигурации выполнялся анализ масштабируемости. Там написано, что используется OpenMP (для систем с общей памятью), суперкомпьютер Ломоносов, а количество процессоров доходит до 120. Я не вижу таких узлов в Ломоносове в его описании [1]. Можете пояснить? Chalker (обсуждение) 18:31, 5 декабря 2016 (MSK)

Запускали в тестовой очереди. В тексте допустили неточность, для передачи данных данных использовали MPI. Запустили еще раз, номер node1-130-[01-16]. 120- количество потоков.

    • Текст до сих пор не исправлен, в приведённой реализации тоже используется OpenMP, а не MPI. Если используется она — то это запускается на одном узле. Данные точно верны? Chalker (обсуждение) 20:14, 17 декабря 2016 (MSK)

Исправили текст. В MPI используем K процессов (так как количество процессов ограничено, то на один процесс может выделяться больше одного вектора) и каждый процесс по отдельности обрабатывает свои вектора с использование OpenMP. В зависимости от номера процесса определяется какие вектора он будет обрабатывать. Каждый процесс обрабатывает свои вектора, а потом собирается общий результат.



Исправлено

Граф исправлен еще раз