Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1 2 След.
Производительность полного пересчёта, В теме рассматривается зависимость железа и времени полного пересчёта в сложных задачах
 
Всех категорически приветствую!
Работая над большими проектами мы с коллегами столкнулись с тем, что большие детали/сборки обновляются оооочень долго. В самых сложных сборка обновление может занимать до 30 минут. В связи с этим решили посмотреть что происходит на рынке железа и есть ли смысл обновлять ПК. Для оценки производительности пришлось создать две тестовые задачи. Первая - сложная модель детали. Вторая - сложная сборка. Сложная модель представляет из себя модель довольно крупной отливки, со всеми радиусами, уклонами и мех. обработкой. Также в этом же файле находится чертёж (3 листа формата А0) в котором есть все размеры литья и мех. обработки, множество разрезов, сечений, выносных видов и т.д. Саму модель приложить не могу, так как она взята из рабочего проекта. Сложная сборка создана специально для теста. Для её создания использовались модели с официального сайта в разделе "Примеры для T-FLEX CAD". Скачать файл сборки со всеми входящими подсборками можно тут. В этой сборке мы попытались воссоздать самые сложные задачи, которые встречаются в рабочих проектах. В модели есть исполнения и массив с кол-во элементов, зависящим от исполнения. По нашим наблюдениям наличие исполнений резко добавляют к времени обновления, так как T-Flex последовательно обновляет каждое исполнения. На чертеже есть виды которые построены от разных исполнений. Есть множество разрезов, сечений, разрывов, выносных элементов и местных видов. Они все раскиданы рандомно, без какой-то логики, просто чтобы их было много.
Тестирование проводилось следующим образом: открывается файл модели и запускается полный пересчёт. В установках стоит галочка чтобы показывалось время пересчёта. Без каких либо изменений, такой пересчёт повторяется 3 раза подряд. Время в секундах заносится в таблицу и усредняется за 3 раза.
Такое тестирование было проведено на разных рабочих машинах. Результаты сведены в таблицу. Для удобства сравнения разных сборок в таблицу добавлены столбики "Разница в процентах...". В этих столбиках самый быстрый ПК взят за 100%, для остальных написано на сколько процентов они медленнее. Т.е. чем меньше число, тем производительней ПК. Есть две строчки с надписью SMT-off, это тот же самый ПК, но с выключенной многопоточность, в теории это должно было немного помочь. Вроде так и вышло, но разница незначительная.
В ходе проведения тестов замечено, что при обновлении проекций используется 2 ядра, остальные в простое. От сюда вывод, что наибольшее влияние на время обновления оказывает частота процессора. Из-за этого, не понятно, как ещё можно разогнать время обновления, больше ГГц чем у 7700X уже особо и не получишь. Ну может на форуме есть люди которые лучше разбираются в вопросе, подскажут что-нибудь дельное.
В завершении, хочу предложить форумчанам скачать предложенную мной сборку и повторить тест у себя. Результаты выложить сюда, а я потом добавлю их в общую таблицу. В любом случае, уже имеющиеся данные должны помочь другим людям при выборе ПК для работы в T-Flex.
Конечно, при работе есть и другие сценарии, но их не рассматриваю, так как для нас "бутылочным горлышком" является именно время перестроения. Потому что в большом проекте приходится подгонять детали из разных подсборок, и для этого приходится постоянно обновляться. Постоянно возникают ситуации, когда конструктор делает 10 кликов мыши и потом ждёт 15 мин чтобы проверить, всё ли собралось.
Из наших предыдущих наблюдений:
1) Видиокарта мощнее чем GTX1650 не сильно помогает (сборка на 10000 тел крутится вполне сносно).
2) Частота оперативной памяти тоже не сильно влияет.
__________________________________________________
Обновил таблицу и отсортировал результаты по убыванию производительности. За нулевое значение процентов используется наш самый мощный ПК.
Изменено: Виктор Овчинников - 16.02.2023 08:15:44
 
Цитата
написал:
Работая над большими проектами мы с коллегами столкнулись с тем, что большие детали/сборки обновляются оооочень долго.
Интересное исследование
 
I9-12900, 32G DDR5, RTX3050, Компьютер в домене. Время обновления 129,888 сек.
PS сборка не сильно сложная. Шкаф, в котором десяток жгутов по паре сотен проводов в каждом, считается куда дольше.
Изменено: A-Pak - 13.02.2023 15:30:06
 
Цитата
написал:
В завершении, хочу предложить форумчанам скачать предложенную мной сборку и повторить тест у себя. Результаты выложить сюда, а я потом добавлю их в общую таблицу. В любом случае, уже имеющиеся данные должны помочь другим людям при выборе ПК для работы в T-Flex.
Конечно, при работе есть и другие сценарии, но их не рассматриваю, так как для нас "бутылочным горлышком" является именно время перестроения. Потому что в большом проекте приходится подгонять детали из разных подсборок, и для этого приходится постоянно обновляться. Постоянно возникают ситуации, когда конструктор делает 10 кликов мыши и потом ждёт 15 мин чтобы проверить, всё ли собралось.
Из наших предыдущих наблюдений:
1) Видиокарта мощнее чем GTX1650 не сильно помогает (сборка на 10000 тел крутится вполне сносно).
2) Частота оперативной памяти тоже не сильно влияет.
Может вы сборку выложите если она сделана из библиотечных примеров?
Иначе сборки могут быть очень разными.
 
Цитата
zobza написал:
Может вы сборку выложите
В сообщении есть ссылка на сборку (яндекс диск), она много весит для форума.
 
Я только не понимаю зачем при обновлении сборки каждый раз сразу обновлять чертеж? Как я думаю чертеж обновляется один раз после подгонки модели. Или это сама модель долго пересчитывается? Обычно по цепочке пересчитываются сопряжения и ЛСК, если заменить их просто на позиционирование объекта в пространстве, то пересчет ускорится.
 
Цитата
написал:
I9-12900, 32G DDR5, RTX3050, Компьютер в домене. Время обновления 129,888 сек.
PS сборка не сильно сложная. Шкаф, в котором десяток жгутов по паре сотен проводов в каждом, считается куда дольше.
Интересно, время обновления немного быстрее, возьмём на заметку...
На счёт сложности сборки. Это сборка для теста, она нужна для относительной оценки производительности. Наши рабочие проекты тоже значительно больше, но проводить тест на сборке, которая будет обновляться 10 минут, а потом повторить это по 3 раза на разных ПК... Я не хочу останавливать работу КБ на весь день))))
 
Цитата
написал:
Я только не понимаю зачем при обновлении сборки каждый раз сразу обновлять чертеж? Как я думаю чертеж обновляется один раз после подгонки модели. Или это сама модель долго пересчитывается? Обычно по цепочке пересчитываются сопряжения и ЛСК, если заменить их просто на позиционирование объекта в пространстве, то пересчет ускорится.
Конечно, в реальной работе никто не пересчитывает всю модель с чертежом после каждого изменения. Но всё равно это приходится делать периодически. Конечно, можно было бы разделить тестирование на несколько более узких задач, но у нас тут не отдел тестирования. Интересовали вопросы, как железо влияет на комплексную производительность системы, что стоит покупать, а что не оказывает значимого влияния на скорость работы?
Ну и да, бывает просто 3Д-модели перестраиваются по 15 минут. Когда есть 5 уровней вложенности подсборок с исполнениями, которые имеют сквозную связь через переменные, и ты поменял что ни будь в самом низу.
 
Цель этой темы - помочь пользователям с выбором ПК для работы в T-Flex.
Компьютер с процессором 7700X у нас появился недавно. И согласовать его покупку было не так то просто. Если бы подобная информация была в интернете, я мог бы прийти к начальству с расчётами, сколько денег надо потратить, и какой эффект от этого можно получить. Процесс согласования бы ускорился.
 
производительность ПК это мышцы, но нельзя все проблемы решить просто мышцами, надо еще и думать и оптимизировать....
Изменено: Sasha - 14.02.2023 09:38:19
 
W XP, Core i5, 8Gb, GeForce GTS 450, обновлялось больше 3-8 минут. Где смотреть время. я не понял, плюс форматки свои, все окно диагностики забито алярмом. Винду не указывают, т.к. 10 по умолчанию и какие программы в фоне тоже влияют.
 
W10, Core i5 6600, 16 GB, 750Ti, T-Flex 17.0.82.0 x64 Дата сборки: 02.12.2022, время полного пересчета 190 секунд, но в диагностике есть потерянные файлы.
 
Цитата
Sasha написал:
производительность ПК это мышцы, но нельзя все проблемы решить просто мышцами, надо еще и думать и оптимизировать....
Можете попробовать пооптимизировать. Дано: листовая заготовка размером 1500 на 1500. Нужно просверлить в ней квадратные отверстия 12*12 (ГОСТ 16030-70) с шагом между осями 14 мм по всей площади со смещением на пол шага между рядами.
Прямой путь - создать на поверхности массив узлов, а потом по нему отверстия работает так себе - очень медленно даже на очень мощной машине.
 
Цитата
A-Pak написал:
Прямой путь - создать на поверхности массив узлов
Нормальные герои всегда идут в обход, он не всегда верен, можно сделать выталкивание (контур отверстия) и потом массив даже линейный должен с такой задачей справится.
 
Цитата
Шурик написал:
линейный должен с такой задачей справится
Как только массив становится двухмерным со смещением - все резко меняется и "вечер перестает быть томным". Время обновления на мощной машине порядка 20 минут, на машине по проще - 30..40 минут.
 
Цитата
A-Pak написал:
Можете попробовать пооптимизировать. Дано: листовая заготовка размером 1500 на 1500. Нужно просверлить в ней квадратные отверстия 12*12 (ГОСТ 16030-70) с шагом между осями 14 мм по всей площади со смещением на пол шага между рядами.Прямой путь - создать на поверхности массив узлов, а потом по нему отверстия работает так себе - очень медленно даже на очень мощной машине.
Как только массив становится двухмерным со смещением - все резко меняется и "вечер перестает быть томным". Время обновления на мощной машине порядка 20 минут, на машине по проще - 30..40 минут.
Попробовал... Решетка 1500*1500 с отверстиями 12*12 массивом 100*100 - получилось примерно 150 сек пересчет модели... Нужно еще поставить "не обновлять геометрию при пересчете" на массиве, думаю эту решетку реально нет смысла обновлять в сборке, и за доли секунды обновляет потом.
Изменено: Sasha - 14.02.2023 18:10:18
 
Цитата
написал:
W XP, Core i5, 8Gb, GeForce GTS 450, обновлялось больше 3-8 минут. Где смотреть время. я не понял, плюс форматки свои, все окно диагностики забито алярмом. Винду не указывают, т.к. 10 по умолчанию и какие программы в фоне тоже влияют.
В установках надо поставить вот такую галочку. И тогда внизу будет показываться время пересчёта. Да, винда 10. На счёт программ в фоне, параллельно никаких сложных задач не проводилось, но что-то не сложное (одно окно браузера) возможно. На среднем и выше железе это практически не влияет, так как T-Flex не может загрузить все ядра процессора, ну и оперативной памяти как правило с запасом.
1.png (50.76 КБ)
 
еще надо бы указать у компа HDD или SDD (sata или M2) тоже влияет на производительность,
Цитата
Шурик написал:
W XP, Core i5, 8Gb, GeForce GTS 450, обновлялось больше 3-8 минут. Где смотреть время. я не понял, плюс форматки свои, все окно диагностики забито алярмом. Винду не указывают, т.к. 10 по умолчанию и какие программы в фоне тоже влияют.
еще она открывается 42 сек. (часы механические, тайвань :) до появления Оповещения - Некоторые фрагменты обновить, я нажал Нет. а потом полный пересчет один раз за 6 мин 49,031 сек и повторюсь, форматки свои + сижу в хроме на форуме и пишу данное сообщение. дополнение Core i5 760, HDD
 
У нас везде SSD (на каких-то машинах sata на каких то M2). Но тестовая модель лежит на файловом сервере в котором HDD в RAID1. Сеть с пропускной способностью 1 Гбит/с. Сейчас попробовал ещё раз обновить и посмотреть за нагрузкой на сеть. Она нагружается только первые секунд 10. Не думаю что это является узким местом в работе.
На счёт того что просит обновить фрагменты, это странно, у меня ни чего не просит (проверял на файлах, скачанных с яндекс.диск). Только 4 размера отвалились в червячном редукторе.
 
На мой взгляд узким местом является распределение нагрузки между ядрами. Я в этих делах не разбираюсь, но мне кажется что можно процесс немного ускорить. Например, вот у нас есть чертёж на котором есть два вида с разных исполнений. Потом сделано много связанных видов с этими двумя первыми. Разве нельзя эти виды обновлять параллельно? Одно исполнение, со всеми связанными видами, нагружают пару ядер, и второе исполнение, со всеми своими, нагружают другие ядра. Всё равно же все виды строятся с модели, а модель к этому времени уже обновлена.
Это просто моё предположение, на самом деле не представляю как это внутри работает.
Страницы: 1 2 След.