|
|
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
есть прога под юникс делающая математические вычисления, без графического интерфейса, запускается из терминала. Написана на фортране. Только вот проблема в том что задействует только 1 ядро, а хотелось бы как нить распараллелить вычисления, может кто знает какой нибудь автоматический параллелизатор, какой нибудь компилятор или что нить в этом роде. Буду очеть признателен если кто сможет помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 13:56 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
Вообще некоторые компиляторы сами параллелят. А так OMP.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 15:47 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
MasterZiv, у меня gfortran ничего не параллелит а что за OMP, можно подробней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 18:31 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
начало, http://en.wikipedia.org/wiki/OpenMP Я знаю, что Intel Fortran умеет параллелизировать. http://en.wikipedia.org/wiki/Intel_fortran Ещё какой-то есть тоже с автоматической параллелизацией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2013, 13:50 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Да, я уже установил ifortran 14 версии, осталось только понять как можно перекомпилировать прогу, к сожалению у меня опыт только в работе с си подобными языками, да еще и под виндовс ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2013, 15:36 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
начало, Я тут не помошник, но в общем должно быть всё в рамках настроек проекта (т.е. ключи компилятору). Это в минимальном с точки зрения усилий варианте. Код при этом менять не надо. На OMP на сколько я знаю, в код в нужные места вставляются специальные псевдокомментарии с инструкциями для OMP-препроцессора. Принцип такой. Но лучше почитать соотв. туториалы. (кстати, а сколько у тебя процессоров под рукой, что ты так переживаешь ? Для хорошего распараллеливания надо штук 16 минимум.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2013, 18:58 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
MasterZiv, спасибо за совет, будем пробовать. Процессоров много, целый кластер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2013, 22:38 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
Как предложили выше, используй OpenMP. gfortran поддерживает. Для быстрого ознакомления рекомендую это пособие МГУшное . Здесь приводятся основы использования, все примеры выполнены на Cи и фортране. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2013, 23:46 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
Я тут внезапно вспомнил, что должна быть такая методичка, и нашёл её.. В общем, если будет полезно -- глянь http://twcad.ifmo.ru/?rub=paradir ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2013, 01:10 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
удалось перекомпилировать проект интеловским компилятором с флагами -openmp -parallel -O3. Но при запуске процесс по прежнему висит на одном ядре :( . Спасибо всем кто пытался помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 20:21 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
начало, Ну тогда ещё сразу должен возникнуть вопрос, а возможно ли в принципе эту программу распараллелить. У тебя используются новомодные векторные операции в коде, или это делается в циклах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 22:52 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
новомодные векторные операции не используются, код довольно старый, состоит в основном из условных операторов IF - END IF и циклов DO - END DO, в конце недели покажу программу специалисту по параллелизации, посмотрим что скажет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2013, 11:27 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
начало, Ну а что ты тогда хотел ? Параллелить можно циклы с независимыми итерациями, тут автоматом вроде бы не будет (я точно не знаю), надо OMP инструкции вставлять. И ещё параллелятся всякие умножения массивов через встроенные операции фортрана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2013, 19:07 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
MasterZiv, так я в начале еще написал что не разбираюсь в этом, поэтому и спрашивал как можно сделать автоматом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2013, 21:07 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
начало, Код-то большой ? Мож покажешь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 11:58 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
MasterZiv, покажу без проблем, но файлов там много, могу дать ссылку на скачивание http://www.boulder.swri.edu/swifter/swifter.tar.gz после распаковки, нужно прописать в Makefile.Defines путь, название компилятора и флаги. Потом make all ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 12:35 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
Там около 200 исходников. Сомневаюсь что в этом форуме раскурят что к чему. Нужно пойти скорее от описания проекта и от применения. И от профилирования. Тогда нужны тестовые данные и пусковой скрипт и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 16:55 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
началоMasterZiv, так я в начале еще написал что не разбираюсь в этом, поэтому и спрашивал как можно сделать автоматом.Автоматом - никак, надо самому указывать, что можно распараллеливать. При этом естественно надо понимать, что там делается и не сломается ли оно при попытке распараллелить (нет ли зависимостей по данным). OpenMP только помогает не кодить вручную вещи типа "элементы с четными индексами обрабатываем в одном потоке, с нечетными - в другом". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 17:10 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
Да, нужно ещё и указание на то, где происходит главное действие, которое ты хочешь распараллелить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 17:11 |
|
||
|
распараллелить прогу на фортране
|
|||
|---|---|---|---|
|
#18+
исходников много потому что программа имеет 7 алгоритмов, мне они все не нужны только некоторые, сегодня консультировался со специалистом, он мне сказал что нужно вставить omp инструкции в код, в основном в циклы, потом компилировать по другому не получится. Плюс разработчик сегодня выслал мне один из алгоритмов уже распараллеленый (omp), я скомпилировал, все как надо, запускается пишет кол-во потоков и все дела, но при этом работает тварь МЕДЛЕННЕЙ чем старая версия!!! пойду выпью яду пожалуй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 22:58 |
|
||
|
|

start [/forum/search_topic.php?author=imitator&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 656ms |
| total: | 944ms |

| 0 / 0 |
