Перейти к публикации

Поиск соседних ячеек в неструктурированой сетке


Рекомендованные сообщения

Если я правильно понял. И у Вас и у меня по сути реализован конвертор формата из стандартного (unv, neu) в свой формат. Я тоже это делаю один раз для одной сетки. 

У меня без паралелеливания 400 тыс ячеек считает за 4 часа. А у Вас во сколько раз паралеливание дало выигрыш?

 

По сути выигрыш равен числу параллельных потоков (в разах). То есть при распараллеливании у вас сложность будет не O(N^2) а O((N^2/n)) ... на самом деле выигрыш у нас еще больше из за алгоритмических ухищрений, связанных с порядком хранения структур (но это внутренняя кухня, которая работает только в частном случае)

 

То есть при использовании GPU это тысячи раз, при использовании MPI от десятков до сотен раз.

 

Ниже пример с куском выхлопа решалки.

7 внешних сеток, общий объем расчетной области ~24 млн. КО, при инициализации использовалось 160 ядер

 

Init HyperFLOW3D Solver time=965.836sec.

 

Ну и нужно иметь ввиду что в это время входит не только поиск ссылок на соседние ячейки но и много всякой другой дополнительной работы, в том числе сброс готового образа  расчетной области на диск, с которого можно сделать быстрый рестарт задачи.

Ссылка на сообщение
Поделиться на других сайтах


Хардкоры ? Их есть у меня  :biggrin:

 

Сетка чуть больше 5млн. 

Время инициализации ~ 15 сек

 

3Tflop/s в даблах они такие  :rolleyes:

post-34943-0-41268800-1446831807.png

Ссылка на сообщение
Поделиться на других сайтах

Против Кеплер лома нет приема.
:flush::smile:

Но тему копать интересно тем не менее.
Пока ускорился аж в 10 раз. :biggrin: Целых 20 ячеек/сек для геометрии из 4-го поста. driving.gif
Не представляю, что будет при задаче размерностью 100K, наверное все загнется к едрене фене. Но приятно ощутить себя чуточку программистом :smile:

0_cd9e2_c1025b78_orig.png

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...
  • 1 год спустя...
В 29.10.2015 в 17:04, Andreiwse сказал:

Мне нужна следующая информация: для каждой ячейки знать номера ячеек с которыми она контактирует. Для этого я сравниваю каждую ячейку со всеми остальными ячейками, то есть каждую строку матрицы ячеек со всей матрицой ячеек. Получается два цикла один вложенный в другой в общем M^2 сравнений, расчет занимает очень много времени. 

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

Ссылка на сообщение
Поделиться на других сайтах
  • 5 месяцев спустя...
В 18.09.2017 в 06:36, Blurp сказал:

105 мин

Еще раз объясняю для этого используют хеш таблицы. Можете написать свою но на сегодняшний день быстрее взять готовую. 

1 500 000  элементов это меньше 2 сек.))

 

Ссылка на сообщение
Поделиться на других сайтах
Только что, ДОБРЯК сказал:

1 500 000  элементов это меньше 2 сек.))

Да как-то неинтересны твои стопицот байтов, напечатанных за 2 секунды на клавиатуре.

Ты будешь реальное файло математить, или можно продолжать считать тебя лицедеем в рубашке в крупный круглешок? :biggrin:

12 минуты назад, Blurp сказал:

А то смотри, нейтральное гамбита файло всего 46 метров весу, тьфу для тебя, семечки. Пришлю, только свистни.

Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, Blurp сказал:

Да как-то неинтересны твои стопицот байтов

Не интересно, не читай. )

 

В 18.09.2017 в 06:36, Blurp сказал:

105 мин :wallbash:

Так и будешь всю жизнь головой о стенку биться. ))

Ссылка на сообщение
Поделиться на других сайтах
Только что, ДОБРЯК сказал:

Так и будешь всю жизнь головой о стенку биться. ))

Да можно и всю жизнь с перерывами на пожрать и поржать с тебя. :bye:

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, Blurp сказал:

Да можно и всю жизнь с перерывами на пожрать и поржать

Вот и занимайся своим делом. )

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
В 18.09.2017 в 06:36, Blurp сказал:
В 02.11.2015 в 16:20, Andreiwse сказал:

400 тыс ячеек считает за 4 часа

105 мин :wallbash:

 

Модель крюка. 

$$ Количество элементов = 556734

Количество граней = 556734 * 4

Время )

1, 105, 145, 000 тактов

Делим на 3, 500, 000, 000 =  0,315 сек.

 

---------------------------------------------------------------------------------------

Та же модель крюка. 

$$ Количество элементов = 4 573 606

Количество граней = 4 573 606 * 4

Время )

13, 048, 034, 000 тактов

Делим на 3, 500, 000, 000 =  3,728 сек.

 

105 мин :wallbash:

А теперь можешь смеяться.

:maladets:

И картинка из Интернета. )

 

99.png

Изменено пользователем ДОБРЯК
Ссылка на сообщение
Поделиться на других сайтах
В 30.10.2015 в 13:38, Blurp сказал:

Наверно вам правильно @piden намекнул, что не для этого форума вопрос.

Вопрос был сформулирован корректно и как раз для этого форума. )

Ссылка на сообщение
Поделиться на других сайтах
26 минут назад, ДОБРЯК сказал:

А теперь можешь смеяться.

И продолжу смеяться. В теме есть файл. В 4-м посте.

Масенький такой.

Но ты даже его не осиляешь своими хушастыми таблицами. )))))

Зато помимо многабукаф, начал лепить левые картинки из интернета. ))))))))))))

Прогресс! )))))))

Название темы хотя бы еще раз перечитай.  Уж не прошу тебя даже чёта там посчитать. Давно понял, что это бесполезно. Но, с другой стороны, расширение аудитории твоего цирка - это тоже неплохая задача. Вот её-то ты успешно решаешь. ))))))

 

 

Ссылка на сообщение
Поделиться на других сайтах
12 минуты назад, Blurp сказал:

И продолжу смеяться.

Ты как всегда не понял.

Хорошо смеется тот, кто смеется над обезьянкой.

 

В 18.09.2017 в 06:36, Blurp сказал:

105 мин :wallbash:

:5a33a3668d68d_3DSmiles(9):

Ссылка на сообщение
Поделиться на других сайтах
11 минуту назад, ДОБРЯК сказал:

Хорошо смеется тот, кто смеется над обезьянкой.

Гогочи, не вопрос. ))))

Скрытый текст

Только вот какой прикол:

Обезьяна-не программист решает задачу, пусть и долго, но решает. И смеётся над клоуном.

А престарелый клоун много пишет, ничего не решает и только смеется над обезьяной.

Смеются они одновременно, но правильнее смеётся конечно клоун )))))

14 минуты назад, ДОБРЯК сказал:

Хорошо смеется тот, кто смеется над обезьянкой.

Катать с тобой тупорылую вату смысла нет. :no_1:

Кароч ПНХ, добуяк. :bye:

 

Ссылка на сообщение
Поделиться на других сайтах
В 01.11.2015 в 19:16, Blurp сказал:

Ответно благодарю вас за то, что заставили пошевелить мозгами. Хоть задачу не решил, но залез в такие дебри....вплоть до попыток прикрутить для решения MySQL сервер, либо файловую БД SQLite

:maladets:

Глубоко копнул. 

В 07.11.2015 в 10:38, Blurp сказал:

Но тему копать интересно тем не менее.
Пока ускорился аж в 10 раз. :biggrin:Целых 20 ячеек/сек для геометрии из 4-го поста. driving.gif
Не представляю, что будет при задаче размерностью 100K, наверное все загнется к едрене фене. Но приятно ощутить себя чуточку программистом

:biggrin:

Размерность задачи определяется не размером файла, а количеством узлов и количеством элементов. И количеством граней в элементе. )

Изменено пользователем ДОБРЯК
Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.



×
×
  • Создать...