Страница 1 из 1

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

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

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

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

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).

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

Добавлено: 28 окт 2011, 05:04
eucrariano
Спасибо за ответы. Весьма похвальна и нужна работа разработчиков в этом направлении. Но на мой взгляд настройка и тюнинг мультипоточности в текущем состоянии пока что слишком сложен для большинства. Надеюсь, нативный параллелизм в Грассе все-таки доведут до полного функционала.
По-поводу разбиения области на подобласти (см. вложения):
с перекрытием еще не пробовал, а вот на небольшом примере разбиение на подобласти создает артефакты по линии раздела (хорошо заметно на ЦМР) и в других областях (заметно на карте тангенциальной кривизны).
Отсюда вывод: разрезание области и работа с подобластями без перекрытия для ряда задач не годится совершенно. А вот перекрытие, точнее его степень, еще надо изучить, чтобы гарантированно не получить артефактов по линии разреза.

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

Добавлено: 28 окт 2011, 05:07
eucrariano
что-то не хотели еще файлы прикрепляться. Цепляю их тут