Jump to content
    

Требования к параметрам компьютера для нормальной работы с FPGA

Приветствую корифеев!

Волею судеб попал в контору, где я один на 1000 чел. Вот уже 6 лет прошу сделать апгрейд моего офисного компьютера на Целероне(2 ядра).  Хорошо, что хоть через пол-года работы добился 2го монитора, а то совсем худо было!  Сильно уставал...

С барского плеча год назад добавили памяти до 8гиг.  Но проблема остается, потому как сборка проекта на 7ке(60% ресурса) 5го Циклона уже занимает около 40 минут. Но самое затратное,-симуляция.  Тут бенч тяжелый и 100 мкСек событий я получаю за 8 минут. На самое интересное на 1 мСек соответственно за час!  Приходится извращаться и выкусывать фрагменты дизайна для отдельной (более скоростной) симуляции...(соответственно бенч уже новый)

Последние 4 года начал регулярно жаловаться на ограничения из-за древнего инструментария. (Тут уже и Матлаб потянул свои требования), но оказалось мои просьбы игнорировались из-за отсутствия обоснований по требованиям. (Я оперировал только текущими временами затрат рабочего времени). Просил i7 с 16гиг ОЗУ, тактовой частотой по памяти не ниже 3ГГц и 3мя мониторами.  За день я мог себе позволить пару сборок и штук 10 симуляций всего дизайна.  Вот такой бред!

Уверен, что подобные вопросы в серьёзных конторах оценивались (хорошо когда есть устоявшиеся коллективы и их мнением дорожат).  Прошу поделиться материалами для наглядного оценивания объема\времени типичных работ плисовода и различного аппаратного инструментария.  Финансисты\управляющие не понимают лирики непосредственного участника процесса. Для них так и должно быть и дальше!

Может помочь ваш опыт.  Работаю сознательно с мирной тематикой.

Спасибо!

Share this post


Link to post
Share on other sites

29 minutes ago, Мур said:

Тут бенч тяжелый и 100 мкСек событий я получаю за 8 минут.

Тут нет предела совершенству.. Я как-то делал симуляцию FFT на 2^24 точек. На Core i9 с 32 GB это заняло 27 часов. ))

Share this post


Link to post
Share on other sites

17 hours ago, blackfin said:

Тут нет предела совершенству.. 

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

Share this post


Link to post
Share on other sites

49 minutes ago, Мур said:

обоснований по требованиям

А как форум поможет? В документах Интела, например, весьма скромные требования к памяти компа для сборки Циклонов и тп.

 

Share this post


Link to post
Share on other sites

5 minutes ago, Leka said:

А как форум поможет? В документах Интела, например, весьма скромные требования к памяти компа для сборки Циклонов и тп.

Может есть какие презентации с конкретикой прогона одного и того же дизайна на разных компах?

Думаю, что узкое место - пропускная способность ОЗУ(тактовая частота) и общий её объем. Ну а количества ядер для лицензионного ПО - существенное ускорение в работе!

Share this post


Link to post
Share on other sites

Я оперирую обычно к документации на Quartus/Vivado.

"Intel® Quartus® Prime Pro Edition Software and Device Support Release Notes".

Table 1. Memory Requirements for Processing Designs

Share this post


Link to post
Share on other sites

Как-то проводил опыты на разных процессорах/ОС.

За референс берется ПК с windows 7, 8 Gb RAM 1600MHz, i3 8го поколения, HDD 7200 rpm. Проект в Quartus 13.1, Cyclone III, 50 тысяч логики. забит на 90+ процентов.


Начинаем тестировать:

Перекладываем квартус и проект на SSD (~400Mbit/s) получаем -7-8% от времени сборки проекта.

Берем вместо windows 7 ставим Ubuntu 18.04 получаем еще -7-8% от времени сборки.

Это чисто относительные величины, в абсолютном времени на референсном ПК проект собирался около 2 часов, точно уже не помню.

Выводы: нужен linux+SSD. Как минимум SSD, если к linux испытываете отвращение, либо в конторе не принято с ним работать.
 

Так же совсем недавно проверял компиляцию на разных процах. Были Intel i5 9600KF, Intel Xeon Gold 6256, взял себе 16 ядер из 48, AMD Ryzen 5900х. Везде SSD. Референсный дизайн уже был другой, Intel MAX10, 50 логики, забитый на 95+ процентов.

Время сборки: Ryzen 50 мин, i5 1 час 20 минут, Xeon 1 час 8 минут.

Есть правда нюанс в отличии тактовой частоты RAM. В i5 и Xeon память была 2600 и 2934 MHz соответственно, а у Ryzen 3600 MHz.

 

Выводы для себя сделал такие: частота всё, ядра ничто. Тем более, Quartus, Libero SoC и, вроде, Vivado не умеют больше чем с 8 ядрами работать. Да и place&route очень плохо параллелится. Даже при 16 ядрах можно видеть, что одновременно загружены только 1-2..-5.

 

Так что, злой комп для разработки под ПЛИС на сегодня это:

AMD Ryzen либо Intel i9 с топовыми в семействе частотами, число ядер не важно.

32+ Гб RAM предельной частоты, поддерживаемой процессором

SSD >400 Mbit/s

Linux

Ну и видюшка какая-то, что бы встроенная не воровала у проца время

 

Всё это, конечно, моё ИМХО, на истину не претендую.

ЗЫ. Ну и, конечно, стоит отталкиваться от чипов, с которыми будете работать. Если там max10/CycloneIII по 10-20 тысяч логики, то вышеперечисленную конфигурацию можно смело делить на 2, а то и на 4)

ЗЗЫ. А еще под Linux QuestaSim умеет в параллельную симуляцию) Правда для этого надо очень правильно писать тестбенчи.

Share this post


Link to post
Share on other sites

30 minutes ago, nice_vladi said:

Выводы для себя сделал такие: частота всё, ядра ничто

В принципе, об этом везде пишут. Я тоже ставил большие тесты, даже хотел как то тут опубликовать. 
Quartus действительно в 85-90% времени тратит  1 ядро, поэтому важна частота. Но например i3 2 ядра против Xeon 14 ядер с одинаковой примерно тактовой 3Gz, и прирост на 14 ядрах ~10 мин на сборке, которая занимает 50мин.
i9 10 ядер с тактовой 4.5Ghz на таком проекте снимает еще 10 мин.

У меня все под Linux + ssd.

 

Modelsim тоже не утруждает себя по ядрам раскидывать. Читал статью, как его распараллелить, но так руки и не дошли

Share this post


Link to post
Share on other sites

2 hours ago, new123 said:

... например i3 2 ядра против Xeon 14 ядер с одинаковой примерно тактовой 3Gz, и прирост на 14 ядрах ~10 мин на сборке, которая занимает 50мин.
i9 10 ядер с тактовой 4.5Ghz на таком проекте снимает еще 10 мин

Ну да, так и есть. Поэтому новые Ryzen достаточно уверенно лидируют на такой задаче. Интересно было бы еще новый Threadripper погонять.

2 hours ago, new123 said:

Modelsim тоже не утруждает себя по ядрам раскидывать. Читал статью, как его распараллелить, но так руки и не дошли

По-моему, параллелиться умеет только Questasim. При это там надо не просто ключик какой-то передать симулятору, а именно писать тестбенч в несколько потоков, в общем, не тривиально.

Share this post


Link to post
Share on other sites

20% ускорения - непринципиальны, 2х-кратное - уже заметно. Получается, упор на тактовую надо делать, остальное по остаточному принципу.

 

Share this post


Link to post
Share on other sites

12 minutes ago, Leka said:

20% ускорения - непринципиальны, 2х-кратное - уже заметно.

ну если взять наши обсуждения на фоне вашей машины (целерон), то в наших тестах машины сопоставимы, от сюда и 20% всего. Но по сравнению с целероном, это будет небо и земля. Я как то пытался на ноуте бюджетом поставить компиляцию, обплювался весь. Очень долго и компиляция и симуляция

Edited by new123

Share this post


Link to post
Share on other sites

Приветствую!

10 minutes ago, Leka said:

20% ускорения - непринципиальны, 2х-кратное - уже заметно. Получается, упор на тактовую надо делать, остальное по остаточному принципу.

Кратное уменьшение времени сборки только изменением железа не получить. Тут без организационных мер по оптимизации структуры проекта и процесса сборки увы  не обойтись. 

 

Удачи! Rob. 

Share this post


Link to post
Share on other sites

Тема то, как ТС обосновать свои требования нового компа (и какого). Хотя непонятно, если: 

6 hours ago, Мур said:

где я один на 1000 чел

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

Share this post


Link to post
Share on other sites

35 minutes ago, Leka said:

20% ускорения - непринципиальны, 2х-кратное - уже заметно. Получается, упор на тактовую надо делать, остальное по остаточному принципу.

Я бы ещё посмотрел на задержки кешей и трансфер данных между кешами и ядром в разных поколениях.

Если частота ядра за последние 10 лет не шибко изменилась, то кеш стал шустрее раза в 2 и более.

Share this post


Link to post
Share on other sites

Добавлю свои 5 копеек:

1. Работаю преимущественно с Xilinx и лет 5 назад различные опыты проводил над ISE 14.7 под Win7.

2. Ключевыми моментами оказались частота одного ядра и частота памяти (большинство операций при MAP и P&R проводятся в 1 поток – только расчёт временных ошибок выполнялся в 2-4 потока).

3. Выяснилось, что отключив на Intel Core i7-4770 Hyper-Threading, получаем небольшой прирост быстродействия (около 5%) – толи от того, что cache сдвоенного ядра стал монопольно доставаться одному полуядру, толи отключенное полуядро стало меньше греть оставшееся – не знаю.

4. На i7-8700K тот же фокус с отключением Hyper-Threading тоже показывает положительные результаты... и не только с Xilinx.

5. Процессоры с огромным избытком ядер, как правило, работают хуже, чем процессоры с 4-6 ядрами – вероятно проблемы кроются в RAM->Cache L4/L3->Cache L2 тракте. Частично это нивелируется более грамотным распределением вычислительной нагрузки по ядрам в UNIX/Linux системах (по сравнению с Windows).

6. Внешняя видеокарта, тоже разгружает тракт RAM->Cache L4/L3, поэтому может давать от 5% до 10% прироста быстродействия – зависит от видеорежимов, количества мониторов и загрузки видео-ядра (оно, если встроенное в CPU, тоже его хорошо греет, уменьшая тепловой бюджет процессорных ядер, да и Cache L4/L3 забивает своей информацией).

Ну и уже была тут аналогичная тема в 2016 году:

Может кому чем поможет.

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.

×
×
  • Create New...