Бражников Е.А. ЛР№2 Умножение плотных матриц. Элементы типа double. Блочная схема, алгоритм Фокса. OpenMP.#148
Conversation
18. Нахождение минимальных значений по столбцам матрицы
Gather
gather
Final ver
FoxAlg work
|
@Anorak52, вычистите, пожалуйста, ваш пулл-реквест от ненужных файлов. В репозитории должны быть только файлы с расширениями sln, vcxproj, filters, cpp, h + надо убрать старые лабораторные работы. Структура директорий должна быть аналогична той, что использовалась в прошлом году. |
|
|
||
| int size = 16; //������ ������� | ||
| int procNum = 4; //���������� ��������� | ||
| int BlockSize = int(sqrt(procNum)); //������ ����� |
There was a problem hiding this comment.
Странные входные данные для алгоритма Фокса. По смыслу в качестве аргументов командной строки должен использоваться размер матрицы (число строк=число столбцов) и размер блока. В предположении, что размер матрицы делится нацело на размер блока. Также в аргументах может задаваться количество потоков. В общем случае количество потоков не совпадает с общим числом блоков.
There was a problem hiding this comment.
Если я правильно понял, то все вышеперечисленное и включено в эти аргументы, где size - размер матрицы, procNum - количество потоков, и BlockSize - размер блока. Их можно менять и программа будет работать.
Или требуется сделать ввод со стороны пользователя именно при запуске программы уже?
There was a problem hiding this comment.
Надо реализовать передачу параметров через аргументы командной строки,чтобы не пересобирать программу перед запуском.
| if (size < 30) { | ||
| cout << "Seq Alg " << endl; | ||
| PrintMatrix(CSeq, size); | ||
| } |
There was a problem hiding this comment.
Надо сделать автоматическое поэлементное сравнение результатов работы последовательного и параллельного алгоритмов, а не просто вывод результатов.
| A = new double[size * size]; | ||
| B = new double[size * size]; | ||
| CSeq = new double[size * size]; | ||
| CFox = new double[size * size]; |
There was a problem hiding this comment.
Память из-под матриц нигде не освобождается.
|
@valentina-kustikova все исправил, можно вводить и через коммандную строку, и через саму программу |
OpenMP