Скорость рассчетов в GRASS

Ответить
Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Скорость рассчетов в GRASS

Сообщение eucrariano » 26 окт 2011, 01:20

Заметил, что при расчетах GRASS нагружает только одно ядро процессора из четырех. По ходу ОС меняет ядра местами, но загружено работой только одно. Есть ли способы распараллеливания/убыстрения вычислений? А то получается, что на современной системе скорость почти идентична системам, построенным на базе старых одноядерных процессоров. При генерации ЦМР модулем v.surf.rst, например, или решении других ресурсоемких задач это достаточно актуально.

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Скорость рассчетов в GRASS

Сообщение KolesovDmitry » 26 окт 2011, 08:27

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

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Скорость рассчетов в GRASS

Сообщение Александр Мурый » 26 окт 2011, 09:53

Проблема характерна не только для GRASS, но и для многих других ГИС. Насколько я понимаю, только относительно недавно коммерческие ГИС и пакеты для работы с ДЗЗ (ArcGIS, Erdas etc.) начали частично поддерживать многопоточность.

Вот ссылки на GRASS-Wiki, про которые упомянул Дмитрий:
http://grass.osgeo.org/wiki/OpenMP
http://grass.osgeo.org/wiki/Parallel_GRASS_jobs

В планах разработчиков есть частичное переписывание ресурсоёмких модулей, например, для интерполяции (типа v.surf.rst, v.surf.bspline) и некоторых других (r.sun).
Редактор материалов, модератор форума

Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Re: Скорость рассчетов в GRASS

Сообщение eucrariano » 28 окт 2011, 05:04

Спасибо за ответы. Весьма похвальна и нужна работа разработчиков в этом направлении. Но на мой взгляд настройка и тюнинг мультипоточности в текущем состоянии пока что слишком сложен для большинства. Надеюсь, нативный параллелизм в Грассе все-таки доведут до полного функционала.
По-поводу разбиения области на подобласти (см. вложения):
с перекрытием еще не пробовал, а вот на небольшом примере разбиение на подобласти создает артефакты по линии раздела (хорошо заметно на ЦМР) и в других областях (заметно на карте тангенциальной кривизны).
Отсюда вывод: разрезание области и работа с подобластями без перекрытия для ряда задач не годится совершенно. А вот перекрытие, точнее его степень, еще надо изучить, чтобы гарантированно не получить артефактов по линии разреза.
Вложения
half_precision_TG.jpg
half_precision_TG.jpg (146.02 КБ) 6171 просмотр
half_precision_elevation_sklejka.jpg
half_precision_elevation_sklejka.jpg (62.57 КБ) 6171 просмотр
half_precision_elevation.jpg
half_precision_elevation.jpg (73.39 КБ) 6171 просмотр

Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Re: Скорость рассчетов в GRASS

Сообщение eucrariano » 28 окт 2011, 05:07

что-то не хотели еще файлы прикрепляться. Цепляю их тут
Вложения
half_precision_for_mask.jpg
half_precision_for_mask.jpg (49.91 КБ) 6171 просмотр
half_precision_TG_sklejka.jpg
half_precision_TG_sklejka.jpg (115.7 КБ) 6171 просмотр

Ответить

Вернуться в «GRASS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей