Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / распараллелить прогу на фортране / 22 сообщений из 22, страница 1 из 1
04.10.2013, 13:56
    #38416839
начало
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
есть прога под юникс делающая математические вычисления, без графического интерфейса, запускается из терминала. Написана на фортране. Только вот проблема в том что задействует только 1 ядро, а хотелось бы как нить распараллелить вычисления, может кто знает какой нибудь автоматический параллелизатор, какой нибудь компилятор или что нить в этом роде. Буду очеть признателен если кто сможет помочь.
...
Рейтинг: 0 / 0
04.10.2013, 15:47
    #38417008
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
Вообще некоторые компиляторы сами параллелят.
А так OMP..
...
Рейтинг: 0 / 0
04.10.2013, 18:31
    #38417325
начало
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
MasterZiv,

у меня gfortran ничего не параллелит

а что за OMP, можно подробней?
...
Рейтинг: 0 / 0
05.10.2013, 13:50
    #38417666
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
начало,

http://en.wikipedia.org/wiki/OpenMP

Я знаю, что Intel Fortran умеет параллелизировать.

http://en.wikipedia.org/wiki/Intel_fortran

Ещё какой-то есть тоже с автоматической параллелизацией.
...
Рейтинг: 0 / 0
05.10.2013, 15:36
    #38417712
начало
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
MasterZiv,

Да, я уже установил ifortran 14 версии, осталось только понять как можно перекомпилировать прогу, к сожалению у меня опыт только в работе с си подобными языками, да еще и под виндовс (
...
Рейтинг: 0 / 0
05.10.2013, 18:58
    #38417777
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
начало,

Я тут не помошник, но в общем должно быть всё в рамках настроек проекта (т.е. ключи компилятору).
Это в минимальном с точки зрения усилий варианте.
Код при этом менять не надо.

На OMP на сколько я знаю, в код в нужные места вставляются специальные псевдокомментарии с инструкциями для OMP-препроцессора. Принцип такой. Но лучше почитать соотв. туториалы.

(кстати, а сколько у тебя процессоров под рукой, что ты так переживаешь ? Для хорошего распараллеливания надо штук 16 минимум.)
...
Рейтинг: 0 / 0
06.10.2013, 22:38
    #38418303
начало
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
MasterZiv,

спасибо за совет, будем пробовать.
Процессоров много, целый кластер.
...
Рейтинг: 0 / 0
06.10.2013, 23:46
    #38418342
defibrillator
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
Как предложили выше, используй OpenMP. gfortran поддерживает.
Для быстрого ознакомления рекомендую это пособие МГУшное . Здесь приводятся основы использования, все примеры выполнены на Cи и фортране.
...
Рейтинг: 0 / 0
07.10.2013, 01:10
    #38418372
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
Я тут внезапно вспомнил, что должна быть такая методичка, и нашёл её..
В общем, если будет полезно -- глянь

http://twcad.ifmo.ru/?rub=paradir
...
Рейтинг: 0 / 0
07.10.2013, 01:14
    #38418373
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
...
Рейтинг: 0 / 0
08.10.2013, 20:21
    #38420852
начало
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
удалось перекомпилировать проект интеловским компилятором с флагами -openmp -parallel -O3. Но при запуске процесс по прежнему висит на одном ядре :( . Спасибо всем кто пытался помочь.
...
Рейтинг: 0 / 0
08.10.2013, 22:52
    #38420935
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
начало,
Ну тогда ещё сразу должен возникнуть вопрос, а возможно ли в принципе эту программу распараллелить.

У тебя используются новомодные векторные операции в коде, или это делается в циклах?
...
Рейтинг: 0 / 0
09.10.2013, 11:27
    #38421262
начало
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
новомодные векторные операции не используются, код довольно старый, состоит в основном из условных операторов IF - END IF и циклов DO - END DO, в конце недели покажу программу специалисту по параллелизации, посмотрим что скажет.
...
Рейтинг: 0 / 0
09.10.2013, 19:07
    #38422029
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
начало,

Ну а что ты тогда хотел ?

Параллелить можно циклы с независимыми итерациями, тут автоматом вроде бы не будет (я точно не знаю), надо OMP инструкции
вставлять.
И ещё параллелятся всякие умножения массивов через встроенные операции фортрана.
...
Рейтинг: 0 / 0
09.10.2013, 21:07
    #38422103
начало
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
MasterZiv,

так я в начале еще написал что не разбираюсь в этом, поэтому и спрашивал как можно сделать автоматом.
...
Рейтинг: 0 / 0
11.10.2013, 11:58
    #38424196
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
начало,

Код-то большой ?
Мож покажешь ?
...
Рейтинг: 0 / 0
11.10.2013, 12:35
    #38424277
начало
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
MasterZiv,

покажу без проблем, но файлов там много, могу дать ссылку на скачивание http://www.boulder.swri.edu/swifter/swifter.tar.gz

после распаковки, нужно прописать в Makefile.Defines путь, название компилятора и флаги. Потом make all
...
Рейтинг: 0 / 0
11.10.2013, 16:55
    #38424724
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
Там около 200 исходников. Сомневаюсь что в этом форуме раскурят что к чему.
Нужно пойти скорее от описания проекта и от применения. И от профилирования. Тогда нужны тестовые
данные и пусковой скрипт и т.п.
...
Рейтинг: 0 / 0
11.10.2013, 17:10
    #38424759
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
началоMasterZiv,
так я в начале еще написал что не разбираюсь в этом, поэтому и спрашивал как можно сделать автоматом.Автоматом - никак, надо самому указывать, что можно распараллеливать. При этом естественно надо понимать, что там делается и не сломается ли оно при попытке распараллелить (нет ли зависимостей по данным). OpenMP только помогает не кодить вручную вещи типа "элементы с четными индексами обрабатываем в одном потоке, с нечетными - в другом".
...
Рейтинг: 0 / 0
11.10.2013, 17:11
    #38424762
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
Да, нужно ещё и указание на то, где происходит главное действие, которое ты хочешь распараллелить.
...
Рейтинг: 0 / 0
11.10.2013, 22:58
    #38425013
начало
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
исходников много потому что программа имеет 7 алгоритмов, мне они все не нужны только некоторые, сегодня консультировался со специалистом, он мне сказал что нужно вставить omp инструкции в код, в основном в циклы, потом компилировать по другому не получится. Плюс разработчик сегодня выслал мне один из алгоритмов уже распараллеленый (omp), я скомпилировал, все как надо, запускается пишет кол-во потоков и все дела, но при этом работает тварь МЕДЛЕННЕЙ чем старая версия!!! пойду выпью яду пожалуй.
...
Рейтинг: 0 / 0
12.10.2013, 00:05
    #38425039
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллелить прогу на фортране
начало, попробуй регулировать количество потоков. Должны быть какие-то директивы для этого.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / распараллелить прогу на фортране / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]