Jump to content

    
edc

Вопросы по HFSS

Recommended Posts

18 hours ago, DmitryHF said:

Опять двадцать пять, "кастрированное" ядро никогда не станет нормальным. Не равна его производительность нормальному,и если для каких-либо простых задач (браузер, ворд и т.п) и достаточно возможностей "кастрированного" ядра, то для полноценного расчета в HFSS нет.

У вас очень смутное представление о работе процессора...

HT никоим образом не "кастрирует" ядро. В отличие от архитектуры Бульдозера, где на два ядра действительно приходилось по 1 FPU, что можно назвать "кастрацией", HT ядро Интела является полноценным одним ядром с двойным набором хромо регистров и средствами их виртуализации (мгновенного переключения). При исполнении програмы всегда есть холостые такты. Чтобы сократить время исполнения и выполнять одну операцию над несколькими данными, что сокращает пустую работу, процессоры стали исполнять команды "спекулятивно" на опережение. Но это требует длинной очереди операций... и чем она длиннее, тем все равно больше больших дыр. Простои появляются также и при заполнении кеша при чтении больших объемов внешних данных (как раз задачи симуляции). Именно в этот момент процессор переключает состояние с одного виртуального ядра на другое. Практически без потерь производительности. Ну в сумме на поток она конечно капелюшечку падает, там тоже есть планировщик который не идеален. Зато на два потока растет, по сравнению с программным поочередным переключением. А теперь обратите внимание на КЕШ, - он все еще общий. Т.е. все что насчитал первый поток, сразу может использовать второй поток без пенальти на передачу. Возьмем нашу матрицу. В принципе алгоритмы ее переворота описыны точно и достаточно оптимальны чтобы работать без простоя. Но и в рамках архитектуры процессора на уровне микроопераций, так и на уровне и высокоуровневого программирования простои все равно возможны. Вы же не в машинном коде программу пишете, а в C#, вероятно с защищенными классами...

 

Так вот до 15 версии HT никак не ускорял вычисление. Это было фактом, напротив, ошибки планировщика Windows XP могли два потока из 4 лицензированных занести на одно физическое ядро из 8 виртуальных.. что не очень хорошо. Но если есть 8 лицензий на 8 виртуальных ядер, то потеря исчезающе мала по сравнению с 4 на 4 физических.

Но со времен 15 версии и XP многое по моему изменилось.

 

Номер два - не все в симуляции есть вычисление обратной матрицы. Если вы вычисляете 16-гиговую модель, да, это большая часть времени. Но если это оптимизация 4-гиговой модели, то задача во основном крутится на стадиях I/O, меширования и постопераций.

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

Процессор конечно Xeon, кеша у него в 2 раза больше чем у аналогичного i7

 

З.Ы. ваш документ 2017 года составлялся скорее всего людьми привыкшими к 13-15 версиям. 4 Года назад я бы сказал то же самое что в документе. Но времена меняются, И Ансис, и Интел и МС работают потихоньку.

 

З.З.Ы.

Я вам еще один секрет открою: Это не каcается FPU,но со времен Пентиума4 в интеловских процессорах фактически сначала по 2, а потмо и более ALU на каждое ядро. Собственно идея исзользовать их независимо на коротких операциях и породила HT во времена Нортвуда. Так вот в новых x64 профессорах их несколько 32битных штук и они могут склеиваться в один по длине операции, или в два (а может и более,я не следил за развитием) для исполнения двух операций одновременно. Это может происходить и как на спекулятивном исполнеии, так (я предполагаю) и на HT исполнении, если нужное количество блоков простаивает.

Share this post


Link to post
Share on other sites

>Или с глобальной переменной для размера магнита тоже может получиться.

А разве при связи с Maxwell общие переменные не должны быть глобальными по правилам?

Share this post


Link to post
Share on other sites
16 часов назад, DmitryHF сказал:

Или с глобальной переменной для размера магнита тоже может получиться.

Действительно назначение глобальной переменной помогло.

Share this post


Link to post
Share on other sites
4 часа назад, Hale сказал:

>Или с глобальной переменной для размера магнита тоже может получиться.

А разве при связи с Maxwell общие переменные не должны быть глобальными по правилам?

Ну вот проект из Example создан без глобальных переменных почему-то Ansys так сделал.

Share this post


Link to post
Share on other sites
5 часов назад, Hale сказал:

. Но если есть 8 лицензий на 8 виртуальных ядер, то потеря исчезающе мала по сравнению с 4 на 4 физических.

думаю Дмитрий прекрасно понимает тонкости HT, а его утверждение можно перефразировать: "при цене HFSS, покупка лицензии на 8 ядер и покупка 4-ядерного процессора с HT - нелогично абсурдное действие. Стоимость 8-ядерника (неважно с HT или без) исчезающе мала на фоне лицензии HFSS, а прирост на 8 отдельных ядрах существенно выше чем 4+HT".

Share this post


Link to post
Share on other sites
58 минут назад, fazoid сказал:

Если 2 физических ядра и соответственно 4 логических, то для отключения гипертрейдинга нужно выставить в настройках HPC: 2 ядра и 4 потока?

я не видел чтобы там были настройки "ядра и потоки", я вижу только одну настройку = Cores. Total enabled cores.

Если поставить Total enabled cores больше чем есть физических ядер - будут грузиться и логические ядра.

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

Edited by yurik82

Share this post


Link to post
Share on other sites

Это я наверное неправильно перевёл “Tasks”.  Какие тогда параметры лучше выставить для слабенькой машины Intel i3 2 физических ядра? Core лучше задать 2? Сколько задать Tasks?

Share this post


Link to post
Share on other sites
9 hours ago, Hale said:

У вас очень смутное представление о работе процессора...

Вместо этой "простыни" которую Вы написали, не понимаю правда с какой целью, лучше выложите логи решения HFSS c использованием виртуальных ядер и без них (и проект для проверки). И тогда можно будет подискутировать. И да, задача лучше чтоб была по размерам ближе к реальной, на несколько Гб (несколько десятков тысяч тетраэдров).

А потом продолжим открывать секреты)))

Edited by DmitryHF

Share this post


Link to post
Share on other sites

Дмитрий. Вы первый мой пост по теме читали? Черным по белому написал, задача маленькая, на 4 гигабайта прмерно. Реальные задачи бывают разными и для разных целей. Но нельзя споря требовать изменить для своего удобства условия.

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

 

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

Share this post


Link to post
Share on other sites

>думаю Дмитрий прекрасно понимает тонкости HT,

После фразы про "кастрацию" я сильно в этом усомнился. Так, на всякий случай разъяснил.

>купка лицензии на 8 ядер и покупка 4-ядерного процессора с HT - нелогично

Ну а у Вас где логика?
8 лицензий куплено. И раскупить их обратно нельзя. Что им, мертвым грузом валяться, если на машине имеется всего 4 ядра, а другим людям они сейча сне нужны?

>Стоимость 8-ядерника (неважно с HT или без) исчезающе мала

Да ладно, 20-25 тысяч долларов. Это я в аспирантуре зв три тысячи двухпроцессорники собирал. На предприятиях надо покупать готовое по безналу.

2 hours ago, fazoid said:

Если 2 физических ядра и соответственно 4 логических, то для отключения гипертрейдинга нужно выставить в настройках HPC: 2 ядра и 4 потока?

нет. HFSS не умеет различать какие виртуальные ядра в паре, а какие нет. Обычно в Виндоуз они шли по порядку, 1A,1B, 2A, 2B... но планировщик мог раскидывать задачи тоже по порядку. Поэтому под бульдозер в XP был выпущен патч, раскидывающий задачи по порядку через одно ядро; который помогал в спорной ситуации и на Интелах

1 hour ago, yurik82 said:

я не видел чтобы там были настройки "ядра и потоки", я вижу только одну настройку = Cores. Total enabled cores.

Если поставить Total enabled cores больше чем есть физических ядер - будут грузиться и логические ядра.

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

 

> зависит от ОС. В общем случае будут. Физические ядра грузятся всегда. Одно физическое ядро состоит из двух равнозначных виртуальных. Те.между ними нет различия вообще.

Share this post


Link to post
Share on other sites
1 час назад, Hale сказал:

Это я в аспирантуре зв три тысячи двухпроцессорники собирал.

Вы имеет ввиду двухсокетники и восьмисокетники.

Односокетные компьютеры имеют до 22 ядер у Intel и до 64 ядер у AMD.

8-ядерный односокетник покупается за одну стипендию

Двухсокетная рабочая станция по безналу с НДС 2х6 ядер (2 х Xeon X5675) с 64 Гб ОЗУ стоит $1000

Двухсокетная рабочая станция по безналу с НДС 2х22 ядра (Xeon E5 2696 v3) стоит $3000 

Или вас там заставляют покупать Эльбрусы по $25 000?

Edited by yurik82

Share this post


Link to post
Share on other sites
1 hour ago, Hale said:

Дмитрий. Вы первый мой пост по теме читали? Черным по белому написал, задача маленькая, на 4 гигабайта прмерно. Реальные задачи бывают разными и для разных целей. Но нельзя споря требовать изменить для своего удобства условия.

В первом посте Вы написали, следующее:

Quote

Кстати, вам не показалось что HFSS 2020R неплохо научился пользоваться преимуществами HyperThreading? ....

Вы обратились к неопределенному числу лиц, с Вашими сомненьями.

Мой ответ сводился к тому, что Вам это - показалось.

Документ Ансиса приложен для развеивания сомнений.

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

Я допускаю, что возможно придумать такую задачу где виртуальные ядра не сильно проиграют. Это будет видимо когда время расчета задачи сильно меньше времени на ее подготовку, создание сетки и т.п., но основное назначение HFSS именно расчет, не пост обработка и построение сетки.

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

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

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

 

ПС. Savant получал прирост от использования НТ, сейчас он превратился в SBR+ Solver и для него они может и полезны, не проверял.

 

Edited by DmitryHF

Share this post


Link to post
Share on other sites
7 minutes ago, yurik82 said:

Двухсокетная рабочая станция по безналу с НДС 2х6 ядер (2 х Xeon X5675) с 64 Гб ОЗУ стоит $1000

Двухсокетная рабочая станция по безналу с НДС 2х22 ядра (Xeon E5 2696 v3) стоит $3000 

1. Это где такие музейные экспонаты распродают? И не стыдно столько за хлам просить

2. За эти деньги даже памяти не будет - ядра не выйдет загрузить

 

 

Share this post


Link to post
Share on other sites

Freesom а 4 ядра за $25 000 это не стыдно? Небось пресловутый Bulldozer и Windows XP ещё там. Купили лицензию HFSS HPC на 8 ядер  и за $20 с мусорки Бульдозера притащили. На 32 битной XP гоняют 32-битный HFSS-13 с 2 Гб на процесс

Edited by yurik82

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.