![]() |
|
![]() ![]() ![]() |
|
Cross |
|
|||
![]() информатик-аналитик ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 2.6.2006 Где: Москва Репутация: нет Всего: 1 |
Здравствуйте!
Столкнулась со следующей проблемой: есть научный проект, требующий высокопроизводительных вычислений. Они собственно уже реализованы на С++ с помощью распределения на CORBA. Но разработчики потерялись, код на С++ не работает, и копаться в нем нет желания. Нашла нечто похожее на Fortran. Но без распределения. Подскажите, имеет ли смысл сейчас применять Fortran??? Можно ли его использовать с CORBA? Также меня интересует, платные ли для него компиляторы? (т.к. разрабатываемый проект должен использовать только бесплатное ПО) А может стоит переписать все на Java??? Вообще Java применим для высокопроизводительных вычислений, или об этом смешно даже говорить? (Дело в том, что Java я знаю лучше нежели другие языки... ) Читала, что на Java легче всего сделать распределение используя RMI... Но важна скорость... Что посоветуете? В Интернете много информации о том, что Fortran - лидер в области высокопроизв. вычислений, но с другой стороны - у нас почему-то он не распространён... Заранее спасибо за любый ответы и советы ) |
|||
|
||||
Иванофф |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 8.9.2006 Репутация: нет Всего: нет |
у вас как в сказке "приди не одетой и не раздетой, с подарком и без подарка"
CORBA и высопроизводительные вычисления - это вроде несколько разное. проект написан, но разбираться не хотите. бесплатное ПО и высокопроизводительные вычисления - тоже не совсем совпадает. вы знаете Java, но ищете сторонних разработчиков, тогда причем ваше знание Java. Fortran - лидер в области высокопроизв. вычислений если возьмете правильный компилятор и правильных программистов (которых вроде негде взять) Это сообщение отредактировал(а) Иванофф - 5.12.2008, 02:50 |
|||
|
||||
Cross |
|
||||
![]() информатик-аналитик ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 2.6.2006 Где: Москва Репутация: нет Всего: 1 |
Дело в том, что вычислительное приложение, работающее на С++, как говорят, работало очень и очень медленно.
Поэтому и не хотят его восстанавливать.
Почему бесплатное ПО "не совпадает" с высокопроизводительными вычислениями? Нет бесплатных компиляторов? или что?
Я не хочу искать сторонних разработчиков, если бы знала, что Java даст приемлемую скорость, использовала бы только ее. CORBA или RMI используется для распределения, но разве это не относится к высокопроизводительным вычислениям. Это же частный случай параллельных вычислений... |
||||
|
|||||
kemiisto |
|
||||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
А что с ним случилось? Разработали новый (более быстрый) алгоритм?
Потому, что бесплатные FORTRAN-компиляторы на выходе дают более медленные исполняемые файлы, нежели платные. Это пожно погуглит: "FORTRAN Benchmarks". Вот, например.
Сначала хотел просто высказаться по поводу скорости Java, но потом решил зайти на старый-добрый http://shootout.alioth.debian.org/. Я в шоке, господа. ![]() Это сообщение отредактировал(а) kemiisto - 5.12.2008, 12:54 -------------------- |
||||||
|
|||||||
Cross |
|
||||||
![]() информатик-аналитик ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 2.6.2006 Где: Москва Репутация: нет Всего: 1 |
изначально была программа на Fortran, и работала достаточно быстро. Но т.к. дело касается молекулярной динамики, потребовалось моделировать все большее количество точек, потому решили переписать алгоритм на С++ и сделать его распределенным в локальной сети. Ну после запуска остались сильно недовольны скоростью... потому проект забросили, оставив код на С++ без комментариев. Конечно можно в нем разобраться, но стоит ли?
В гугле столько разноречивой информации про Java... даже не знаю чему верить... А что вы хотели сказать по поводу скорости Java??? ![]()
Можете посоветовать выход из положения? И вообще, где найти информацию о том, насколько платные хорошие компиляторы для Фортран? А можно ли обычную вычислительную программу на Фортране сделать распределенной? Или проще написать новую??? |
||||||
|
|||||||
kemiisto |
|
||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
![]()
Если я правильно понимаю распределённость:
то конечно можно. Например, GAMESS, GAUSSIAN, DALTON (это из тех QC считалок, которые я точно знаю, что написаны на FORTRAN) вроде бы распараллеливаются (с разным успехом). А иначе какой смысл их ставить на кластеры? Наверное, будет полезным почитать про MPI. А что обычно говорят? ![]() -------------------- |
||||
|
|||||
Cross |
|
|||
![]() информатик-аналитик ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 2.6.2006 Где: Москва Репутация: нет Всего: 1 |
Насколько я понимаю, MPI - это метод распараллеливания на разные процессоры, находящиеся на одной машине (т.е. на суперкомпьютере) В нашу задачу не входит использование многопроцессорных систем. Будет локальная сеть из обычных средних компьютеров. Вообще я находила в гугле Java-апплеты, выполняющие вычисления, касающиеся молекулярной динамики. Работают быстро ))) А насчет скорости Java я конечно читала в основном только отрицательные отзывы... Но сейчас все больше пишут, что Java почти сравнялась по производительности с С++. Не знаю, верить этому, или это просто рекламная кампания ![]() Но факт в том, что программы, написанные на Java меня лично еще никогда не подводили... А с С++ все сложнее... вот вроде есть у меня программа рабочая, но никто не может её запустить ))) Это сообщение отредактировал(а) Cross - 5.12.2008, 18:53 |
|||
|
||||
Иванофф |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 8.9.2006 Репутация: нет Всего: нет |
а зачем вам сеть из средних компьютеров. дешевле поставить один нормальный двухпроцессорный четырехядерный компьютер и получить нормальную скорость. непонятно на каком этапе вы хотите съэкономить.
|
|||
|
||||
Cross |
|
|||
![]() информатик-аналитик ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 2.6.2006 Где: Москва Репутация: нет Всего: 1 |
понимаете... это научный проект при университете.
все сразу сделать все равно не получится, т.к. никто у нас не умеет программировать в стиле HPC. Учиться уже нет времени, т.к. кандидатская на носу - а этот проект и будет защитой ))) Каждый аспирант делает что-то свое, какую-то часть... Моя задача - сделать распределение. Все что касается многопроцессорных машин, это уже будет делаться после... Если у института будут деньги на такие компьютеры ) А пока есть только аудитория с ЛВС ))) на том и надо работать Вот так собственно обстоит дело ![]() |
|||
|
||||
kemiisto |
|
||||||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
Нет, точнее, не только:
Я вот что думаю по этому поводу: хватит ли у Вас опыта писать "быстрый" код на FORTRAN. Там ведь тоже не всё так просто. Помните, лучший ЯП - тот, который программист знает лучше всего.
Думаю, имеется ввиду, что существенного опережения по скорости работы приложений C++ уже не даёт. В 2 раза, но это не так уж и критично. Что значит: не может запустить? Есть программа в исходных кодах? -------------------- |
||||||||
|
|||||||||
Иванофф |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 8.9.2006 Репутация: нет Всего: нет |
так бы сразу и написали. личный совет. разрабатывайте и отлаживайте отдельные части на разных машинах, а считайте на одной самой быстрой. добавьте ей памяти, если есть обмен поставьте диски в райд 0, иначе просто потеряете время на отладку в ЛВС.
|
|||
|
||||
Cross |
|
|||
![]() информатик-аналитик ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 2.6.2006 Где: Москва Репутация: нет Всего: 1 |
Есть исходные коды, она компилируется... но ничего не делает... Но если все равно научная руководительница недовольна скоростью и хочет переделывать... |
|||
|
||||
popovda |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 9.6.2006 Где: Москва Репутация: нет Всего: 6 |
Что касается MPI - та библиотека имеет 2 глобальных приемущества для создания распределенных интерфейсов:
1. Она кроссплатформенна (то есть не придеться сильно изменять код для др. ОС) 2 позволяет контролировать вычислительную нагрузку и создавать виртуальные топологии ЛВС, что может быть очень полезно для некоторых задач. Но есть недостатки - слабая поддержка и современных стандартов Фортран и C++. Поэтому, поскольку Вам так или иначе надо получить высокопроизводительный код, а значит понадобится коммерческий качественный компилятор. Если платформа Intel, то обратите внимание на Intel Cluster OpenMP - возможно Вам не придется и код-то сильно менять (вычислительную часть). Медленная работа может быть из-за использования большого количества виртуальных функций-членов. Что для CORBA-технологии очень вероятно. Вообще, в вычислительных задачах надо избегать позднее связывание. -------------------- С уважением, Попов Д.А. |
|||
|
||||
Cross |
|
|||
![]() информатик-аналитик ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 2.6.2006 Где: Москва Репутация: нет Всего: 1 |
Моя задача - использовать только бесплатное ПО, и компиляторы в том числе. Как решить эту проблему? |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
-------------------- |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Fortran | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |