![]() |
|
![]() ![]() ![]() |
|
ctud |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 3.1.2009 Репутация: нет Всего: нет |
Кто в силах, помогите с прогой, очень прОшу
(распаралелить) ;////////////////////////////////////////////////////// Исходный цикл имеет вид: DO 21 I=1,N DO 21 J=1,L B(J,I)=(A(I,J)-C(J,I)-D(I)) D(I)=B(I,I)/2 21 CONTINUE Метод гиперплоскостей |
|||
|
||||
marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: нет Всего: 39 |
ctud,
Просто распараллелить Вам поможет автораспараллеливание (см. опции компилятора). А чтобы распараллелить так, чтобы от этого был толк, необходимо знать, как будут кешироваться значения массивов. В частности, они будут кешироваться по-разному в зависимости от того, мало ли N или L. А если оба не малы, то может поможет chop into chunks - разбивать цикл на кэшируемые по размеру данных подциклы и их уже параллелить. -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
ctud |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 3.1.2009 Репутация: нет Всего: нет |
мне нужено было распаралелить "Методом гиперплоскостей", я вроде писал, жаль помощь вовремя не пришла
|
|||
|
||||
marcusmae |
|
||||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: нет Всего: 39 |
А, вот оно что. Жаль, что невовремя, надеюсь, всё в порядке.
Но всё же... Это значит надо так разбить, чтобы не было зависимостей, да?
Кажется, тут для каждого i при 1 < j < i D(i) будет всё-время один, а при j > i - всё-время другой. Значит, можно
Примерно так. Зависимостей по данным ни для какого цикла, будь он параллльный, тут вроде нет, а эквивалентность результатов вроде должна быть (при доп. проработке особых случаев). Не проверял, может это и неправильно, но похоже. И ещё по-моему для такого рода задач есть какой-то строгий метод типа построения свёрток графов что ли. Интересно, каков ответ? И ещё больше интересно: скажите, пожалуйста, а где Вас этому учат, если не секрет? -------------------- ἀπὸ μηχανῆς θεός |
||||
|
|||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Fortran | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |