0

Прошу помощи

Уважаемые пикабушники, у меня возникла проблема. Пишу диплом на тему "Запуск алгоритма Гаусса-Зейделя на кластере" , столкнулся с проблемой распараллеливания написанного алгоритма. В последовательном режиме он работает, но не могу распараллелить его на несколько процессоров. Пишу на Fortran 90. Может есть знающие люди, и готовые помочь, кто откликнется напишите как с вами связаться, или напишете мне на почту ernest199425@gmail.com.

комментарий для минусов прилагается.
0
Автор поста оценил этот комментарий
не будем спешить с выводами. Автору: телепатов тут нет, выложите сюда или в личку что именно по вашему мнению не работает.
Если код не откомментирован - даже смотреть не стану.
Все фортрановские выкрутасы уберите. если у Вас рекурсивное решение - тоже. Потому что программист, использующий рекурсию на фортране обязан представлять себе реализацию в деталях. Тем не менее, положите упрощенный код, я гляну.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Ввод с клавиатуры размерности матрицы:
write (*,*)'Vvedite chislo strok , stolbzov' ! ввод с клавиатуры число элементов матрицы
read(*,*) n ! передача этого числа переменной n
allocate (a(n,n), b(n), x(n)) ! задаётся размер матриц
Заполнение массива случайными числами, но с заданными верхним и нижним пределами от 100 до -100:
call random_seed;
do i=1,n ! начало цикла
do j=1,n ! начало внутренего цикла
lb=-100 ! нижний предел
ub=100 ! верхний предел
call random_number(q) ! генерация случайных чисел
p = (ub-lb+1)*q
p = lb+p
if(p>ub) p=ub ! сравнение пределом
a(i,j)=p присвоение сгенерированного значения элементу матрицы
enddo конец внутренего цикла
enddo конец внешнего цикла
Так же заполняется массив вектора:
call random_seed;
do i=1,n
call random_number(q)
p = (ub-lb+1)*(q/2)
p = lb+p
if(p>ub) p=ub
b(i)=p
enddo
Прямой ход. Выбор ведущего элемента:
do k=1,n
max=abs(a(k,k))
write (*,*), max
r=k
do i=k+1,n
if (abs(a(i,k))>max) then
max=abs(a(i,k))
r=i
endif
enddo
do j=1,n
c=a(k,j)
a(k,j)=a(r,j)
a(r,j)=c
enddo
c=b(k)
b(k)=b(r)
b(r)=c

Поиск множителя при делении одной строки на другую:

do i=k+1,n
M=a(i,k)/a(k,k)
do j=k,n
a(i,j)=a(i,j)-M*a(k,j)
enddo
b(i)=b(i)-M*b(k)
enddo
enddo

Проверка на бесконечность решения:

if (a(n,n)==0) then
if (b(n)==0) then
write(*,*)'Beskonechnoe mnozhestvo reshenij'
go to 1 ! если условие выполняется, то перейти к метке 1 (конец программы)
endif
write(*,*)'Net reshenij'
go to 1
endif

Вычисление погрешности метода:

do i=n,1,-1
S=0
do j=i+1,n
S=S+a(i,j)*x(j)
enddo

Обратный ход. Вывод найденых элементов:

x(i)=(b(i)-S)/a(i,i)
enddo
do i=1,n
write (*,*)'x',i,'=',x(i)
enddo
1 end ! 1 является меткой
Автор поста оценил этот комментарий
Кластеризация на фортране.. Что-то я пропустил в этой жизни.. что-то важное.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Некоторые программы найденные в интернете, на разных иностранных форумах, написанные на фортране успешно запустились на кластере, но не моя (
показать ответы
Автор поста оценил этот комментарий
А вы что-то оригинальное придумали, или существующее не получается реализовать?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
задача была написать программу на Fortran 90, которая решает матрицы, методом Гаусса-Зейделя, написав программу которая хорошо справляется со своей задачей, но в последовательном режиме, то бишь на одном процессоре, ее теперь надо с помощью MPI распараллелить и запустить на кластере, доказывая эффективность кластеров в решение СЛАУ.
0
Автор поста оценил этот комментарий
Автор прошу дай какие либо контакты
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Почта: ernest199425@gmail.com
0
Автор поста оценил этот комментарий
минус
Автор поста оценил этот комментарий
Это методы оптимизации или решение СЛАУ?
раскрыть ветку (1)
Автор поста оценил этот комментарий
решение СЛАУ
показать ответы
1
Автор поста оценил этот комментарий
минус

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества