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

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


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

11 минуту назад, soklakov сказал:

А диск SSD?

Обычный диск. 

На каком разбиении вы остановились?

Я могу сделать это разбиение и сказать сколько памяти требует решатель.

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


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

На каком разбиении вы остановились?

все большие машины работают, я со своими 32ГБ разве что 100*100 более-менее считается. а 200*200 уже как-то не оченнь симпатишно себя ведет, не стал возиться.

 

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

Я могу сделать это разбиение и сказать сколько памяти требует решатель.

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

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

Обычный диск.

как-то он вас совсем не замедлил)

 

мне вот чего подумалось.... начну издалека.

на олимпиадах по программированию для старшеклассников бывают задачи, в которых в зависимости от входных параметров нужно выдавать тот или иной ответ. при этом бывает так, что для определенного сочетания входных параметров решения нет. в таких случаях, гласит задание, нужно вывести в выходной файл слово "no". История тут в том, что те участники олимпиады, кто понимал, что всю задачу решить в отведенное время уже не удастся, использовали лайфхак - писали какой-то более менее запутанный код, результатом которого в конечном счете всегда был ответ "no". Поскольку проверка выполняется в автоматическом режиме и код никто не проверяет, то такой финт позволял взять за задачу хотя бы какие-то очки, потратив минимум времени. (думаю, сейчас такое уже не прокатит).

 

что же именно напомнило мне эту историю. я сегодня в очередной раз прогнал кубик (маленький) и обнаружил, что ансис как раз за меня выбрал итеративный решатель. Может помните, я выше писал, что не всегда понимаю, какой логикой в этом выборе он руководствуется. Но в этот раз более менее удалось разобраться. Переключая на итеративный решатель, Ансис сообщает, что по его мнению задача с кубиком имеет сложность 1. Из практики чаще встречались задачи сложности 2 или 3. Если правильно помню, самую высокую сложность какую я видел - это 5. Наверное, можно где-то поискать, как именно Ансис классифицирует сложность, но нам сейчас это неактуально.

 

Интересно следующее. Когда я переключил принудительно решатель на прямой, то получил бОльшее время решения. в принципе, в этой ситуации Ансис на автомате сделал правильный выбор - итеративный оказался быстрее. Тут мне вспомнились коллеги, которые делились опытом, что их задачи решаются итеративным быстрее. А выше я писал, что привык, что прямой всегда быстрее. Я даже в какой-то мере сомневался в словах коллег. В связи с чем появилась у меня мысль, что чем проще задача, тем вероятнее, что итеративный обгонит прямой, а вместе с тем выше и вероятность того, что решение будет выполнено сильно быстрее, чем если бы мы считали задачу той же размерности, но большей сложности.

 

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

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

Вопрос то сколько знаков точности надо. И какой предобуславливатель. Прямой метод дает почти гарантируемую точность и более надежен. Интересно с помощью видеокарт упрощенно с малой разрядностью но быстро получить разложение которое потом использовать как предобуславливатель уже с двойной точностью и немногим числом итераций.  Как то хотел поэкспериментировать  в этом направлении с кудой, даже карточку купил, да руки не дошли. Представляется что именно в комбинациях методов можно добиваться рекордов. Можно и отсеивать часть малозначащих коэффициентов для ускорения на начальных этапах   :)

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

@soklakovТакая же фигня, pcg быстрее посчитал на 100x100x100.

Сетка 400х400х400 - 7 минут 2 секунды. Сейчас посмотрим сколько считать будет. А WB кстати не выдержал и вылетел.

Mesh.thumb.JPG.25c0d5da29b781e3a763b9df6edb4ba1.JPG

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

Такая же фигня, pcg быстрее посчитал на 100x100x100.

И сколько времени считает pcg и прямой?

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

И сколько времени считает pcg и прямой?

pcg - 49 сек, прямой дольше, даже не посмотрел сколько. Хотя я его считал, когда бил сетку на 400х400)

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

pcg - 49 сек, прямой дольше, даже не посмотрел сколько.

Какие параметры компьютера?

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

Переключая на итеративный решатель, Ансис сообщает, что по его мнению задача с кубиком имеет сложность 1. Из практики чаще встречались задачи сложности 2 или 3. Если правильно помню, самую высокую сложность какую я видел - это 5

Это зависит от обусловленности СЛАУ.

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

Это легко проверить меняя свойства материала в  некоторых элементах. Обусловленность будет меняться , а все остальное останется неизменным и понаблюдать за переключением :)

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

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

Для плохо обусловленных матриц не получится.

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

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

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

Разлагать то все равно . Главное уметь быстро молотить скалярные произведения . А предобуславливатель и улучшит обусловленность. В идеале многомерный эллипсоид превратит в почти сферу и сойдется за несколько итераций . А обычные игровые карточки под обычную точность и сделаны ...

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

Разлагать то все равно .

Вы попробуйте сделать полную численную факторизацию на float для плохо обусловленной матрицы. То же будет и для неполной.

Попробуйте на процессоре.

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

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

При неполной факторизации сразу падает скорость. 

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

интересен скорее тренд - то есть весь график

Вот график память - время.

123.PNG

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

Можно полную делать, а улучшить увеличив диагональные. Нам же нужно отображение, которое будет приводить как можно ближе к многомерной сфере ... :) 

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

 

Хотя наверное нужен кол-во узлов - память.

Пост\читал еще на другой машине, там стоит Xeon Gold 5120 и почему-то считает медленнее.

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

Пост\читал еще на другой машине, там стоит Xeon Gold 5120 и почему-то считает медленнее.

Включите прямой метод. Должно быть быстрее. :biggrin:

А где время решения?

 

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

я со своими 32ГБ разве что 100*100 более-менее считается. а 200*200 уже как-то не оченнь симпатишно себя ведет, не стал возиться.

200х200х200 для решения этой задачи требуется 15 Гб оперативной памяти. Вся задача полностью влезает в 15 Гб.

 

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

Включите прямой метод. Должно быть быстрее. :biggrin:

А где время решения?

 

Я прямым и считал. Время хз, все серваки ща fluent'ом заняты, не могу посмотреть пока.

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

200х200х200 для решения этой задачи требуется 15 Гб оперативной памяти. Вся задача полностью влезает в 15 Гб.

 

200х200х200

Memory.JPG

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

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

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

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

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

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

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

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

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

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

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




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