Форум кафедры Техники и Электрофизики Высоких Напряжений
http://tvn-moscow.ru/forum/

Ускорение вычислений
http://tvn-moscow.ru/forum/viewtopic.php?f=20&t=3049
Страница 1 из 1

Автор:  nocopyrights [ 09 окт 2013, 17:02 ]
Заголовок сообщения:  Ускорение вычислений

Кто-нибудь сталкивался с проблемой нехватки вычислительной мощности? При решении задачи с заданной точностью вычисление занимает весьма продолжительное время. Как можно ускорить процесс?
В интернете приводят 3 основных способа решения:
1) Оптимизация кода. Использование векторных операций вместо циклов, выделение памяти для массивов заранее через zeros.
2) Использование вычислительных кластеров (что-то подобное, как я понимаю, стоит у нас на ВЦ)
3) Использование параллельных вычислений на многоядерных процессорах с привлечением GPU.
Последний вариант представляет наибольший интерес.

Автор:  dmatveev [ 09 окт 2013, 18:01 ]
Заголовок сообщения:  Re: Ускорение вычислений

По моему опыту причиной долгих расчетов в подавляющем большинстве случаев является некорректная постановка задачи и неудачная организация кода.

Что касается параллельных вычислений, то злое эффективное решение - запуск 4х вариантов расчетов из 4х матлабов (для четырехядерной машины).

Автор:  nocopyrights [ 11 окт 2013, 00:14 ]
Заголовок сообщения:  Re: Ускорение вычислений

Согласен. Но ведь бывают случаи, когда хочется сохранить наглядность кода в ущерб его оптимизации :oops:

Кстати, касаемо сравнения версий матлаба. Если кто не знал, то достаточно простым способом можно узнать время, затрачиваемое на вычисление
Код:
tic
% код программы
toc


Результаты расчета сферической модели лавины по 20 шагам:
Matlab 2011a: 134.637303 секунд
Matlab 2013a: 116.402715 секунд
:-?

Автор:  dmatveev [ 11 окт 2013, 01:00 ]
Заголовок сообщения:  Re: Ускорение вычислений

Они постоянно совершенствуют интерпретатор. Так что норм.

Автор:  dmatveev [ 11 окт 2013, 01:01 ]
Заголовок сообщения:  Re: Ускорение вычислений

Наглядность кода при параллельных вычислениях вообще очень трудно обеспечить.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/