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

Сходимость в моделях с shell181


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

Нет, его лень делать. image104.gif  В утешение одна из эрмитовых базисных функций для квадратичного элемента. Остальные в http://old.exponenta.ru/soft/Mathemat/pinega/a4/a4.asp , а то далеко от темы отклонились   :)  

Изменено пользователем Fedor
Ссылка на сообщение
Поделиться на других сайтах


Вот на вашем сайте:

  • очень быстрый прямой решатель (sparse direct solver) системы линейных уравнений. Без потери точности решения. До 10 раз быстрее в сравнении с аналогичными конечно-элементными пакетами NASTRAN, ANSYS и т.п. 

 

Пруфы? Дайте мне бета-версию и я прорешаю ряд задач, которые вызвали интерес (балка и следящая нагрузка Бормана) + еще были интересные задачки. И выложу отчет.

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

очень быстрый прямой решатель.... До 10 раз быстрее 

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

но когда я вижу в solution output информацию, что стартовал PCG - иду жестко задавать  Direct. да, я редко решаю типовые задачи, так что непоказателен. и все же...

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

что стартовал PCG - иду жестко задавать  Direct.

А почему? Кроме памяти ес-нно.

Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, soklakov сказал:

а вот итеративный, кажись, и вправду в полтора раза быстрее. не в десять.

Неправду говорите. Вы не решили на игровом компьютере все эти задачи

Таблица 1.

Разбиение

Время генерации

Количество уравнений

Время решения

50х50х50

2 сек

390 150

3 сек

100х100х100

12 сек

3 060 300

22 сек

200х200х200

1 мин 15 сек

24 240 600

5 мин 36 сек

300х300х300

3 мин 18 сек

81 540 900

29 мин 42 сек

350х350х350

5 мин 11 сек

129 361 050

58 мин 40 сек

400х400х400

8 мин 20 сек

192 993 606

2 часа 03 мин

 Решите хотя бы задачу 350х350х350.

Думаю у вас будут проблемы с размерностью. 

А потом решите 400х400х400. 

Тогда и поговорим о скорости решения.

Получается что вы не можете решить большие задачи, а говорите о скорости решения.:biggrin:

5 часов назад, soklakov сказал:

подозрительно. помнится он подтверждал, что прямой-то вряд ли получится принципиально  ускорить.

Так получилось. Почитайте статьи, история развития решателей прослеживается. Посмотрите видео, все в реальном времени. Никаких секретов.

Если есть желание откройте тему в разделе Сравнение и выбор. 

Там и сравним. Никаких секретов нет. 

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

Проблемы связаны с тем, что якобиан отрицательный. И не написано кода, который бы это как-то обрабатывал.

Эт надо в ручную менять обход узлов, в своём коде. По крайней мере я так делал. МОжно ещё вводить перенумерацию узлов, тоже вручную. Но ... - это не для рассматриваемых случаев, не для малых деформаций.

8 часов назад, hr4d сказал:

очень быстрый прямой решатель (sparse direct solver) системы линейных уравнений. Без потери точности решения.

Это про распараллеливание. Линейную систему вполне осилит, даже Scilab что-то там умеет решать в параллель на свободных библиотеках.

Изменено пользователем AlexKaz
Ссылка на сообщение
Поделиться на других сайтах
10 минут назад, AlexKaz сказал:

Эт надо в ручную менять обход узлов, в своём коде.

В данном случае это не поможет.

10 минут назад, AlexKaz сказал:

Это про распараллеливание.

Не только. Еще про расширение системы команд x86 для микропроцессоров Intel и AMD.

Поддержка инструкций SSE (а также SSE2, SSE3,  SSE4.1, SSE4.2) и AVX, AVX2, AVX512;

  • Например, для процессора INTEL I7 6900 скорость решения до 250 ГФл/сек для переменных двойной точности типа double;

И эта скорость для разреженных матриц.

 

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

Это одно и то же. Х инструкций за такт - один фиг что в параллель.

Но как только решаем нелинейность - все последние новомодные приблуды с Х инструкциями против старой доброй SSEn ничего на дают.

Один из пруфов https://www.dynalook.com/15th-international-ls-dyna-conference/computing-technology/ls-dyna-r-performance-on-intel-r-scalable-solutions

Ещё http://www.hpcadvisorycouncil.com/pdf/LS_DYNA_Skylake.pdf

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

Изменено пользователем AlexKaz
Ссылка на сообщение
Поделиться на других сайтах
Цитата

Эт надо в ручную менять обход узлов, в своём коде.

элементарно же автоматизируется. Или просто брать модуль определителя матрицы Якоби. А лучше и то и другое. Или наоборот  :) 

Изменено пользователем Fedor
Ссылка на сообщение
Поделиться на других сайтах
21 минуту назад, AlexKaz сказал:

Но как только решаем нелинейность - все последние новомодные приблуды с Х инструкциями против старой доброй SSEn ничего на дают.

Переход с SSE на AVX -скорость увеличивается в два раза

Переход с AVX на AVX2 -скорость увеличивается в два раза

и т. д.

И время численной факторизации меньше в 2 раза и время решения нелинейной задачи меньше в 2 раза. Нелинейная задача

 

Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, hr4d сказал:

Вот на вашем сайте:

  • очень быстрый прямой решатель (sparse direct solver) ...

О да, послушайте, внучки, поучительную историю "О мальчике Бобби, который любил деньги".

За окном шел 2010 или 2011 год. Это были времена золотых и платиновых трэдов, подстегиваемых тоской скучающего ума по реальным производственным задачам. В порыве страстного обсуждения мною было произнесено имя решателя ANSYS, которым я решал очередную балку. Да, это был sparse direct solver.

В голове, тогда еще подающего скромные надежды мистера 404, эти три таинственных слова положительно резонировали с текущей картиной мира. И с тех пор он торжественно именует свой решатель не иначе как sparse direct solver, усиливая русскими словами "новый", "разреженный", "прямой". И втыкает эти таинственные слова в обсуждения по любому поводу, и в свои статьи тоже.

Изменено пользователем Борман
Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Борман сказал:

В порыве страстного обсуждения мною было произнесено имя решателя ANSYS, которым я решал очередную балку. Да, это был sparse direct solver.

Не вы тогда участвовали в дискуссии о скорости прямых решателей. Эти слова произнес Кулаченко. И дал ссылки на самые быстрые решатели. Так что очередные проблемы с памятью у вас. И был тест кубик 40х40х40.

На тех компьютерах время численной факторизации в программе 404 6 часов. Это был профильный алгоритм. 32-х битный WINDOWS.

Кулаченко решил в Ансис за 1 час.  Это был разреженный алгоритм, который по его словам Ансис купил у Боинга.

Сейчас эту задачу программа 404 решает за 6 сек на процессоре с AVX2.  На AVX512 - 3 сек реального времени. На игровых процессорах.  Разреженным прямым решателем (sparse direct solver). Профильный решатель - 12 мин.

Но мой опыт подсказывает, что вы не понимаете разницы между профильным и разреженным решателем господин @Борман .

Нельзя жить головой назад. Все течет, все изменяется.:biggrin:

 

 

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

 не понимаете разницы между профильным и разреженным решателем

Насколько  понимаю при прямых методах заполнение внутри профиля происходит. Так что в чем разница с точки зрения алгебры не понятно. Если конечно речь не идет о сопряженных градиентах которые все-таки относят чаще к итерационным...

Есть же книжки Джорджа и Лю и Писсанецки о разложениях . Там просто оптимизируют профили за счет перенумерации  ...

Изменено пользователем Fedor
Ссылка на сообщение
Поделиться на других сайтах
11 час назад, hr4d сказал:

А почему? Кроме памяти ес-нно.

память как раз  не жалко. а надо быстро. когда памяти мало, а задачи большие - тогда и приходится юзать PCG. но иногда автоматический выбиратель то ли ориентируясь на текущую загрузку, то ли еще по каким причинам сам ставит PCG, смотришь - вроде небольшая задачка, должна in-core влезать. идешь и бьешь кнутом по Direct. я всего лишь об этой банальщине.

6 часов назад, ДОБРЯК сказал:

Так получилось. Почитайте статьи, история развития решателей прослеживается.

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

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

что раз разными кодами для прямых решателей используются одни и те же библиотеки интел

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

И еще для полноты картины, на сопряженных градиентах такой скорости быть не может. Это только на прямых разреженных решателях. Кубики прямым методом в 404 и в Ансис решаются примерно одинаково. Разница в скорости будет на больших моделях из оболочек. 

 

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

И еще по разному сделана символьная и численная факторизация. 

У Ансис и Настран решатель написан не только под Windows. 

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

Прежде чем решать нужно еще переставить строки и столбцы, чтобы уменьшить заполняемость

Когда занимался то разделял процессы. Формирование как у Кнута из клеток связанных со степенями свободы. Это и для всяких связей и прочих трансформаций полезно. Полезно клетки разных размерностей.   Для символьной работы получать необходимые представления. А уж потом делать представление для решения алгебраических проблем. Вроде все без проблем крутилось.

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

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

а вот интересно... минимизация ширины фронта ленточной матрицы имеет единственное решение? есть какая-нибудь теорему на эту тему, может быть...

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

а вот интересно... минимизация ширины фронта ленточной матрицы имеет единственное решение? есть какая-нибудь теорему на эту тему, может быть...

Все эти алгоритмы описаны и исследованы в этих книгах 

1 час назад, Fedor сказал:

Есть же книжки Джорджа и Лю и Писсанецки о разложениях

Это две разные книги.) 

1. Джорджа и Лю

2. Писсанецки

Ничего нового я стой поры не видел.

Тут ведь как. Можно долго оптимизировать и быстро решать. А можно быстро оптимизировать и долго решать. Однозначного оптимального решения для всех задач и компьютеров нет.

На сегодняшний день оптимальное соотношение зависит от типа процессора от количества ядер и т. д.

Я не знаю как это сделано в Ансис, но в 404 перестановка строк и столбцов делается один раз на уровне узлов. И быстро и эффективно. Можно использовать разные оптимизаторы. А уже потом на каждой итерации нелинейной задачи запускается только решатель. 

 

Мостовой перегружатель из оболочек 

$$ Количество узлов = 1 895 046
$$ Количество эдементов = 1 926 320

 Количество степеней свободы 10 244 866    

 

$ Для решения потребовалось = 35.989 Гбайт памяти  
$ Скорость = 195490.27 Мфл в секунду  
$ Время = 19.110 сек  

 

Игровой процессор  Intel I7 – 6900

 

 

1.bmp

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

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

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

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

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

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

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

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

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

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

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




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