реклама на сайте
подробности

 
 
> Многопроцессорнось и CUDA при моделировании описаний на HDL языках
dvladim
сообщение Oct 26 2008, 12:08
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Вопрос такой:
Какие пакеты моделирования позволяют задействовать ресурсы всех доступных процессоров в системе, кластеры, ресурсы процессора видеокарты (используя CUDA), внешние аппаратные ускорители (какие?) для ускорения моделирования?

Вообще интересно как хорошо распараллеливается моделирование HDL описаний. Насколько линейно влияет увеличение числа процессоров? Насколько важна потоковая скорости и задержки подсистемы памяти?

Желательно (если это возможно) в примерах с конкретными цифрам: каков объем проекта; язык; количество тестовых векроров (событий) при моделировании; использованная система - железо, ОС, софт; время компиляции и моделирования; занятый объем памяти?
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
CaPpuCcino
сообщение Oct 26 2008, 16:19
Сообщение #2


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



1)плохо улавливаю, вас что конкретно интересует - среды проектирования использующие параллельные вычислительные архитектуры или распараллеливание тех или иных алгоритмов? 2)если вы говорите о параллельных вычислительных архитектурах, то следует учесть, что архитектуры эти принципиально разные (те же многопроцессорные системы - это MIMD, а графические сопроцессоры - это SPMD /single program multiple data/), и соответственно алгоритмы на них ложатся по-разному. если вас интересует применение именно CUDA, то в статейках NVIDIA кучами можно найти заоблачные показатели ускорения алгоритмов (кстати, почему именно CUDA, а не, к примеру, более универсальные cell-processors) при этом стоит учитывать что для CUDA не все алгоритмы подходят и программировать под неё приходится адаптируя алгоритм под GPU архитектуру всевозможными макросами и дефайнами
в общем широко как-то очень зрите, можно как-нить по-конкретнее формулировать?


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Oct 26 2008, 16:22
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Интересует что из софта и на какой аппаратуре использовать что бы быстрее всего промоделировать проект. Т.е. как ускорить моделирование?
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Oct 26 2008, 16:35
Сообщение #4


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



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


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Oct 26 2008, 16:45
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



А не в курсе какие среды моделирования поддерживают распараллеливание? И какой прирост оно дает?
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Oct 26 2008, 17:03
Сообщение #6


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



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


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Oct 26 2008, 18:40
Сообщение #7


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(CaPpuCcino @ Oct 26 2008, 18:35) *
относительно CUDA, думаю коммерческие моделяторы её не поддерживают и врядли будут поддерживать, потому как архитектура GPU для универсальных вычислений подойдёт врядли (слишком специфична и требует адаптацию конкретного алгоритма), относительно многопроцессорности с распараллеливанием потоков, то запросто, но только такое распараллеливание идёт на уровне ядра операционки на платформе конкретной конфигурации и для сред моделирования (написаных по техн. multithreding) прозрачно. многопроцессорность модели MPI тоже достаточно специфична(как и GPU), ожидать, что создатели будут обращать внимание на такие архитектуры можно едва ли.

Но есть же расширения для MatLAB и фотожопа)))
Цитата(dvladim @ Oct 26 2008, 18:45) *
А не в курсе какие среды моделирования поддерживают распараллеливание? И какой прирост оно дает?

SciLab. Кластер из 64-х 4-х ядерников собрали и впред)))


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Oct 26 2008, 19:15
Сообщение #8


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(DRUID3 @ Oct 26 2008, 22:40) *
Но есть же расширения для MatLAB и фотожопа)))

и вы знаете о чём говорите? работали с CUDA + MatLab? эти расширения предназначены для массово-параллельных вычислений (матричной организации).
а на счёт фотошопа - было бы странно, если бы компания позиционирующая себя как лидер ПО для обработки графики, не пользовалась передовыми технологиями графических карт.
какое отношение всё это имеет к средам моделирования цифровых систем на базе HDL-ев?


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Oct 27 2008, 06:00
Сообщение #9


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(CaPpuCcino @ Oct 26 2008, 21:15) *
и вы знаете о чём говорите? работали с CUDA + MatLab? эти расширения предназначены для массово-параллельных вычислений (матричной организации).
а на счёт фотошопа - было бы странно, если бы компания позиционирующая себя как лидер ПО для обработки графики, не пользовалась передовыми технологиями графических карт.
какое отношение всё это имеет к средам моделирования цифровых систем на базе HDL-ев?

biggrin.gif к HDL-лям пока никаких, но не факт, что крупные компании в это дело не влаживаются, раз другим не зазорно. А о "фотожопе" у Вас димагогия. Обработка 2D изображний и 3D графика практически не пересекаются - и возможность применение CUDA в этом пакете говорит лишь о том, что нашлись люди "секущие фишку".

P.S.: MatLab-ом не пользуюсь (давно игрался, еще с 6-ой версией кажеЦЦо) - это йад заставлящий человека думать что он знает больше чем на самом деле. Ктому же дорогой йад... Н это уже религия rolleyes.gif ...


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
dvladim
сообщение Oct 27 2008, 08:38
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(DRUID3 @ Oct 26 2008, 21:40) *
SciLab. Кластер из 64-х 4-х ядерников собрали и впред)))

И каким боком тут SciLab?
Интересуют среды моделирования Verilog, VHDL. Типа NCVerilog, ModelSim ну и другие.
Go to the top of the page
 
+Quote Post
al1
сообщение Oct 27 2008, 10:20
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 122
Регистрация: 27-12-06
Пользователь №: 23 939



1. Я разбирался с ModelSim-ом по вопросу распараллеливания. Официальный ответ от ментора: затраты на синхронизацию убивают все преимущества от распараллеливания. Полагаю (но не уверен), что у других HDL симуляторов ситуация аналогичная.

2. Вспомните в какой стране мы живём! У нас если нельзя, но очень хочется - то можно!!! Есть такая фирмА avery-design (http://www.avery-design.com/), она предлагает софтину SimCluster которая может построить кластер (не путать с фермой) на основе любого из популярных HDL симуляторов, в том числе и ModelSim можно использовать. Софтина дорогая - одна лицензия поддерживающая 4 параллельных ModelSim-а сравнима с лицензией на сам ModelSim. Т.е. если хотите на четыре потока распараллелить - нужно 4 лицензии ModelSim + одна SimCluster.

3. "dvladim, вы коммунист? Это же не наши методы!" Зачем вам распараллеливание? Наверное ваш длинный тест слишком долго моделируется? Это решается по-другому! Например, МЦСТ когда моделировали на моделсиме эльбрус - они использовали ферму (не путать с кластером), т.е. разбили длинный тест на паттерны тестирующие разные функции и запустили их на разных машинах.

4. После моделирования на ферме возникает несколько баз данных с различной статистической информацией о моделированиях. Их надо как-то объединить в единую базу для анализа. Это решается в Questa, там есть так называемый VerificationManager.


P.S.

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


P.P.S

И еще один момент.
У вас, наверное и сам проект и тестбенч написаны на HDL языке? Для ускорения моделирования лучше HDL использовать только для описания самого проекта, т.е. того, что потом придётся синтезировать. Для описания окружения (т.е. всего того что нужно только для моделирования, не для синтеза) лучше использовать SystemC, он на порядок (или несколько порядков) быстрее моделируется чем HDL.
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Oct 27 2008, 13:02
Сообщение #12


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(DRUID3 @ Oct 27 2008, 10:00) *
А о "фотожопе" у Вас димагогия.

ну, собственно из ответа следует, что ни к GPU(в частности CUDA), ни к HDLs, ни к MatLab вы отношения не имеете, на этом и остановимся.
по сабжу: GPU организованы как вектор процессорных элементов выполняющих одинаковый код над разными данными (то самое SPMD), синхронизация этих параллельных потоков очень ресурсоёмка (выполняется как правило на стороне хоста), потому как для задач исполняемых GPU собственно и не требуется, поэтому распараллеливание потоков при симуляции HDL кода на GPU нецелесообразно, т.к. эти потоки требуют интенсивной синхронизации
Цитата(al1 @ Oct 27 2008, 14:20) *
Для ускорения моделирования лучше HDL использовать только для описания самого проекта, т.е. того, что потом придётся синтезировать.

как верно замечает al1, сейчас существуют другие методы увеличения произв. при симуляции, в частности оптимизация самой модели (но не только SystemC) - по вопросам оптимизации думаю стоит обратиться либо в ветку по языкам описания либо по SOPC раздела Программируемая логика


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Oct 27 2008, 21:24
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(al1 @ Oct 27 2008, 13:20) *
2. Вспомните в какой стране мы живём! У нас если нельзя, но очень хочется - то можно!!! Есть такая фирмА avery-design (http://www.avery-design.com/), она предлагает софтину SimCluster которая может построить кластер (не путать с фермой) на основе любого из популярных HDL симуляторов

Спасибо за наводку. Посмотрим.

Цитата(al1 @ Oct 27 2008, 13:20) *
У вас, наверное и сам проект и тестбенч написаны на HDL языке? Для ускорения моделирования лучше HDL использовать только для описания самого проекта, т.е. того, что потом придётся синтезировать. Для описания окружения (т.е. всего того что нужно только для моделирования, не для синтеза) лучше использовать SystemC, он на порядок (или несколько порядков) быстрее моделируется чем HDL.

Цитата(CaPpuCcino @ Oct 27 2008, 16:02) *
как верно замечает al1, сейчас существуют другие методы увеличения произв. при симуляции, в частности оптимизация самой модели (но не только SystemC)

С "фермой" все понятно (а как же иначе-то).
Долго идет один тест, который разбить невозможно.
Тестбенч действительно на Верилоге, но он прост как репа и летает как ракета. Памяти не жрет. Тормоза в модели. И с моделью ничего особо не сделаешь.
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Oct 28 2008, 15:14
Сообщение #14


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(dvladim @ Oct 28 2008, 01:24) *
Долго идет один тест, который разбить невозможно.
Тестбенч действительно на Верилоге, но он прост как репа и летает как ракета. Памяти не жрет. Тормоза в модели. И с моделью ничего особо не сделаешь.

как я понимаю вы тестируете уже собранную систему РТЛ уровня (?). если так, то стратегия такова: пишите автоматезированный тестбенч, который молотит модель без частого вмешательства человека (при правильном построении тестбенча полное сканирование модели возможно); если тестбенч постоянно затыкается, это означает, что не были отловлены ошибки ниже системного уровня (на уровне функциональных блоков и интерфейсов между ними внутри системы /ну наприме постоянно забивается маршрут данных, или происходит потеря данных в конвеере, или ошибки буфферизации и т.д. в общем ошибки ниже уровня алгоритмя/). то есть систему нужно строить из проверенных/надёжных компонентов, значит раздираете свою систему и пишите тестбенчи для каждого функционального блок тоже автоматизированные, запускаете на отдельной машине и занимаетесь своими делами.
т.е. на каждом уровне абстракции отлавливаем свои баги, чтобы потом когда всё вроде бы написано не ловить блох. если это и так понятно, но всё-равно слишком медленно стоит посмотреть в сторону специальных верификационных платформ с аппаратным ускорением (это дорого, но всё зависит от того насколько высоки ставки в игре). в англоязычной терминологии такие платформы называются Hardware-Assisted Verification. у всех крупных игроков рынка HDL САПРов есть свои железячные платформы моделирования. набираете в поисковике и будет вам много.


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Oct 30 2008, 09:10
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(CaPpuCcino @ Oct 28 2008, 18:14) *
т.е. на каждом уровне абстракции отлавливаем свои баги, чтобы потом когда всё вроде бы написано не ловить блох. если это и так понятно, но всё-равно слишком медленно стоит посмотреть в сторону специальных верификационных платформ с аппаратным ускорением (это дорого, но всё зависит от того насколько высоки ставки в игре). в англоязычной терминологии такие платформы называются Hardware-Assisted Verification. у всех крупных игроков рынка HDL САПРов есть свои железячные платформы моделирования. набираете в поисковике и будет вам много.

Все верно. На нижнем уровне все отлажено, надо посмотреть как все это работает вместе.

Про аппаратное ускорение посмотрю. А кто-нибудь пользовался системами с аппаратным ускорением? Насколько оно ускоряет? И стоит ли оно того? Реальные впечатления у кого-нибудь есть?
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 09:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.06555 секунд с 7
ELECTRONIX ©2004-2016