© Георгиевский Анатолий, 26.10.2005

Программные средства, организация работы над проектом

В учебном курсе для студентов ФТФ мы предлагаем законченное решение для организации работы над проектом, которое включает ряд готовых программно-аппаратных средств. Отдельное внимание уделяется организации совместной работы над проектом и обеспечению платформонезависимости кодов программ.

Программные средства

В качестве ОС использован Debian GNU/Linux 3.1 (Стандартное SMP ядро для AMD64)

Для организации обмена сообщениями используется MPICH 1.5.4

В качестве основного средства мы предлагаем использовать коллекцию компиляторов GNU (C, C++, Fortran 77), gcc version 3.3.5. Дополнительно установлен компилятор Fortran 95 из коллекции компиляторов GNU g95 version 4.0.1. Использование компиляторов GNU гарантирует кросс-платформенную переносимость кодов.

По просьбе пользователей установлен компилятор Intel Fortran Compiler 9.0 и Intel C/C++ Compiler 9.0. Лицензия допускает некомерческое использование программного продукта.

Дополнительно установлены библиотеки glib-2.6.4, ScaLAPAСK 1.7, BLACS 1.1,

Пользователям Windows мы предлагаем применять для локальной отладки и компиляции среду разработки DevCpp в комплекте с компиляторами GNU C/C++ и библиотеками классов glib. Такое решение позволяет осуществлять кросс-платформенную отладку программ. Также при создании кросс-платформенного кода предлагается использовать интегрированную среду разработки Eclipse C/C++ IDE.

Кроме того, мы предоставляем сервис совместной разработки программ (Subversion 1.1.4), система контроля версии.

Полезные ссылки

Обрганизация работы над проектом

Мы считаем, что даже в процессе самостоятельной разрабоки ПО, умение пользоваться системой синхронизации версий серьезным образом помогает организовать работу. В работе с кластером предполагается ряд приближений по тестированию и отладке программы. Вопрос отслеживания и синхронизации изменений производимых в тексте программы может стоять очень остро. Часто у пользователей возникает необходимость отката к рабочей версии. Если проект разрастается, бывает тяжело уследить в какие файлы внесены изменения, в какие нет. Система поддержки версии (SVN) позволяет избавить пользователей от подобных проблем и заодно снизить объем обновляемой информации.

Система поддержки версии позволяет коллективную работу над проектом. Даже когда изменения вносятся одновременно в один и тотже файл, в большинстве случаев SVN позволяет полностью автоматически сшивать фрагменты кода.

Для работы с SVN необходимо освоить несколько процедур: загрузка рабочей версии, синхронизация версии, подгрузка изменений на сервер, добавление и удаление файлов.

Подробнее про работу с системой Subversion...

Лицензионная чистота программного обеспечения

Основной объем программного обеспечения кластера имеет лицензию открытого доступа к кодам, т.н. GNU GPL (General Public License) и BSD-like лицензий. Условия лицензий предусматривают возможность коммерческого и некоммерческого использования продуктов созданных на основе кодов под GPL. Условия лицензии гарантируют сохранение приоритетов и авторских прав. Основанное требование GPL – является предоставление исходных кодов программ вместе с программным продуктом.

Одна из миссий нашего курса – приобщение студентов к культуре создания открытого программного обеспечения (Open Source). Как и всякий научный результат, программное обеспечение для научных исследований должно быть достоянием мирового научного сообщества, и как всякий научный результат должно допускать возможность воспроизведения результатов. Расширение идеологии создания открытого программного обеспечения позволяет публиковать и стандартизировать методы числительного моделирования наравне с аналитическими результатами.

Подробнее ознакомиться с текстами лицензий можно на сайте GNU...

()