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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Многопроцессорнось и CUDA при моделировании описаний на HDL языках
al1
сообщение Oct 30 2008, 09:36
Сообщение #16


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

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



Аппаратные ускорители начинаются от одного Мега$
Дальше интересно?
Про менторовские могу сказать что последние поколения работают по принципу плис: загоняете туда синтезированный hdl код (вроде, вместе с sdf файлом, хотя тут неясно) и он формирует нужную аппаратную логику. На "выходе" проводки эмитирующие пины будущей IC, которые "цепляются" к прототипу платы.
Поэтому скорость много больше любого симулятора, а в некоторых случаях и вообще, равна скорости работы будущей IC (если сам IC будет очень медленный smile.gif ).
Go to the top of the page
 
+Quote Post
dvladim
сообщение Nov 1 2008, 19:09
Сообщение #17


Знающий
****

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



Цитата(al1 @ Oct 30 2008, 12:36) *
Аппаратные ускорители начинаются от одного Мега$
Дальше интересно?

Мегабакс это сильно. Ожидалось конечно 5-6-ти значные цифры.
"по принципу плис" это хорошо, но в моделировании хотелось бы и X и Z увидеть и нарушения setup/hold и прочие timing violations.

Опыт работы с таким девайсом есть? Каких размеров проект влезет?
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 1 2008, 19:48
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



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

Цитата(CaPpuCcino @ Oct 26 2008, 19:35) *
относительно CUDA, думаю коммерческие моделяторы её не поддерживают и врядли будут поддерживать, потому как архитектура GPU для универсальных вычислений подойдёт врядли...
Здесь Вы попали пальцем в небо. Первая ласточка уже появилась. При том, что самой технологии - без году неделя.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Nov 2 2008, 00:29
Сообщение #19


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

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



Цитата(Stanislav @ Nov 1 2008, 23:48) *
Не вдаваясь в подробности дискуссии, скажу только, что у Вас весьма примитивное (или, если хотите, устаревшее) представление об архитектуре современных GPU, а также об их возможностях при решении различных задач, допускающих распараллеливание процессов.

это весьма может быть, ведь я сейчас программирую под CUDA на не самом современном чипе (GeForce 8800 GTS). вы как всегда оставляете интригу после своего комментария - рассказали бы о современных архитектурах более подробно, мне очень интересно чем они сейчас отличаются от моих представлений о GPU
Цитата(Stanislav @ Nov 1 2008, 23:48) *
Здесь Вы попали пальцем в небо. Первая ласточка уже появилась.

не, я тыканьем пальцем в такие обширные области не занимаюсь - стараюсь делать выводы с помощью логических заключений. конечно безупречность результатов данного процесса гарантировать не берусь.
на сколько я понимаю, обсуждаемый здесь пакет занимается обсчитыванием физических полей. на сколько я представляю симуляция HDL-модели достаточно сильно отличается от подобных расчётов. у HDL модели параллельность проявляется в наличие множества сигналов, каждому из которых свойственнен собственный набор перобразований/операций над его значением/, т.е. множество разнородных(по составу и длинне) потоков инструкций, синхронизирующимися с помощью набора ассоциированных событий, т.о. принцип SIMD по которому построен каждый мультипроцессор в архитектуре NVIDIA G80, подходит здесь очень плохо, а синхронизация мультипроцессоров через общую память на плате/Device Memory/ достаточно накладна


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


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

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



Цитата(dvladim @ Nov 1 2008, 22:09) *
Мегабакс это сильно. Ожидалось конечно 5-6-ти значные цифры.
"по принципу плис" это хорошо, но в моделировании хотелось бы и X и Z увидеть и нарушения setup/hold и прочие timing violations.

Опыт работы с таким девайсом есть? Каких размеров проект влезет?


Влезает от 8 до 256 мульёнов гейтов, в зависимости от конфигурации.
Естественно, большие объёмы дороже будут - там и до 4 мегабаксов дойти может.
По поводу технических подробностей, могу вам выслать юзер мануалы, киньте мне письмо на al1@megratec.ru

Выложить сюда, сорри, не могу (совесть в виде пистолета у виска не позволяет smile.gif ).

Опыта ессесно нет, ибо в нашей стране предпочитают лимон потратить на бентли, а не на эмулятор. Но если вы только заикнётесь о покупке - к вам целая делегация опытных спецов подкатит (англоязычных ессесно).
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 5 2008, 22:07
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(CaPpuCcino @ Nov 2 2008, 03:29) *
это весьма может быть, ведь я сейчас программирую под CUDA на не самом современном чипе (GeForce 8800 GTS). вы как всегда оставляете интригу после своего комментария - рассказали бы о современных архитектурах более подробно, мне очень интересно чем они сейчас отличаются от моих представлений о GPU
G80 - вполне современный проц, по крайней мере Nvidia ничего принципиально отличного с точки зрения программной модели пока что не выдумала. У меня G92 (9800 ПЕЧ+), но это практически то же самое, за исключением некоторых аппаратных доработок, впрочем, производителем открыто не документированных.
Если что-то не так написал - простите великодушно. Меня смутила лишь Ваша мысль о невозможности расспараллеливания процессов моделирования на GPU. Который всё-таки является не SIMD - процессором, в коем выполнение разнородных операций представить себе действительно трудно. Главный боттлнек GPU, на мой взгляд, - возможность исполнения только одного кернела в конкретный момент времени, но это и понятно - толщина каналов обмена с внешним миром у GPU не безгранична. Однако, его "куски" могут быть раскиданы по разным вычислительным блокам с помощью аппаратного диспетчера (в тонкостях я ещё не разобрался: куду начал ковырять только недавно, да и времени на это мало).

Цитата(CaPpuCcino @ Nov 2 2008, 03:29) *
...не, я тыканьем пальцем в такие обширные области не занимаюсь - стараюсь делать выводы с помощью логических заключений. конечно безупречность результатов данного процесса гарантировать не берусь.
Предлагаю всё же отталкиваться от фактов.
Вот, поглядите ещё сюда (вероятно, и ув. al1 также будет интересно).
http://www.nascentric.com/omegasim_gx.html
Фильмец ещё посмотреть можно, в картинку ткнув мышом.
Интересно будет почитать Ваши комментарии.

Контора на таких вещах специализируется, и сомневаться в достоверности данных нет особых оснований.
http://www.nascentric.com/product_guide.html
От аналогового моделирования процессов внутри цифровых ИС всё равно никуда не уйти, и здесь подобные продукты могут значительно потеснить "тяжеловесов". А для расчётов на физическом уровне GPU очень даже подходит.

Цитата(CaPpuCcino @ Nov 2 2008, 03:29) *
...на сколько я понимаю, обсуждаемый здесь пакет занимается обсчитыванием физических полей. на сколько я представляю симуляция HDL-модели достаточно сильно отличается от подобных расчётов. у HDL модели параллельность проявляется в наличие множества сигналов, каждому из которых свойственнен собственный набор перобразований/операций над его значением/, т.е. множество разнородных(по составу и длинне) потоков инструкций, синхронизирующимися с помощью набора ассоциированных событий, т.о. принцип SIMD по которому построен каждый мультипроцессор в архитектуре NVIDIA G80, подходит здесь очень плохо, а синхронизация мультипроцессоров через общую память на плате/Device Memory/ достаточно накладна
Да почему накладна, когда она, если так можно выразиться, "бесплатна"? 07.gif
Даже если процессы моделирования не получается распараллелить на несколько тредов внутри каждого из мультипроцессоров (хотя, это представляется весьма странным), кто мешает использовать их как множество SISD-структур в подмогу хосту? В Вашем G80 их целых 12 штук, а в RV770 от ATI-AMD - аж 160 (и 800 тредов), если не ошибаюсь.

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


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Nov 5 2008, 23:28
Сообщение #22


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

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



Цитата(Stanislav @ Nov 6 2008, 02:07) *
Да почему накладна, когда она, если так можно выразиться, "бесплатна"? 07.gif
Даже если процессы моделирования не получается распараллелить на несколько тредов внутри каждого из мультипроцессоров (хотя, это представляется весьма странным), кто мешает использовать их как множество SISD-структур в подмогу хосту? В Вашем G80 их целых 12 штук, а в RV770 от ATI-AMD - аж 160 (и 800 тредов), если не ошибаюсь.

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

ну вот уже предметный разговор. рад, что у нас в стране уже тоже обратили внимание на использование GPU для общих расчётов - год назат когда собирался открыть ветку по этому направлению, отказался от этой идеи, потому как понял что открывать такую ветку ещё пока рановато.
по поводу массива из SISD (если использовать каждый мультипроцессор для общёта одного единственного треда) и тем получить MIMD архитектуру. идея конечно же резонная, но есть подводный камень - программа не будет переносится между графическими платами с чипами разных архитектур NVIDIA - причина простая - именно разное количество мультипроцессоров на кристале (т.е. не гарантировано, что именно те 2 процесса, которые должны обмениваться сообщениями через GDDR, будут реально исполнятся на 2 мультыпроцессорах единовременно) поэтому сама NVIDIA не советует проектировать приложение таким образом, чтобы на разных мультипроцессорах исполнялись разные подпрограммы - вот в этом и есть загвоздка.
обязательно посмотрю ваши ссылки, но сейчас пока нет времени. думаю что и дискуссию по поводу CUDA нужно перенести в другой подраздел.
ЗЫ:кстати собираемся в ближайшее время приобрести карточку с cell-precessor, вот они на сколько я понимаю свободны от таких ограничений как GPU (правда и стоит 3 Кбаксов)
ЗЗЫ: но возможно вы и правы на счёт потенциальной возможности организации HDL симуляции на GPU, просто сказать определённо я не бирусь, не имея конкретного алгоритма для анализа - может быть овчинка выделки и стоит, а может и не стоит совершенно - всё зависит от конкретной задачи


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


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

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



Цитата(Stanislav @ Nov 6 2008, 01:07) *
Вот, поглядите ещё сюда (вероятно, и ув. al1 также будет интересно).
http://www.nascentric.com/omegasim_gx.html
Фильмец ещё посмотреть можно, в картинку ткнув мышом.
Интересно будет почитать Ваши комментарии.


1. Спасибо за ссылку, действительно интересно. Если я правильно понял, на сайте написано что цены начинаются от 1300 баксов. Жаль не написана цена топового варианта. Даже если тыщ десять - это оооочень хороший вариант. Но, посмотрев видео, вынужден добавить бочку дёгтя в ложку мёда.

2. Ускорение. На картинке сайта нарисовано ускорение от 10 до 100 раз. Но на видео упоминается только 10-ти кратное ускорение. А на примере, вообще, видим только 7 + обещание что на больших проектах ускорение будет больше. Но, существует программный ускоритель спайс - ADiT, у него в рекламе тоже написано ускорение от 10 до 100 раз. Правда стоит он на пару порядков дороже. Сразу возникает вопрос: почему? Т.е. в плане ускорения преимущество только одно - цена.

3. Точность. На видео указана потеря точности 0.5 процентов. У ADiT потеря менее 3-х процентов. Но график на сайте - зависимость точности от ускорения - какой-то странный. Там верхний овал уходит в область помеченную Digital. Непонятно как при цифровом моделировании может быть потеря точности? Вывод: судя по рекламе у OmegaSim точность выше, но надо проверять.

4. Инфраструктура. Обычно большие проекты, особенно цифро-аналоговые, описываются на нескольких языках, например: SystemC+HDL+HDLAMS+Spice. Надо разбираться впишется-ли OmegaSim в такой проект.

5. Если ориентироваться на цену, то это решение для не больших по объёму, и простых по структуре проектов или отдельных блоков большого проекта.

Вывод: если я не ошибся и цена начинается с 1300 долларов, то заинтересованным людям, безусловно, стоит попытаться разобраться с OmegaSim. Если его применить получится - сэкономите кучу бабла, если нет - потеряете время, т.е. профукаете кучу бабла.


P.S.
Естественно, это только моё мнение.
Хотелось бы увидеть и другие.

Сообщение отредактировал al1 - Nov 6 2008, 10:35
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 16 2008, 23:10
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Извиняйте, что отвечаю с задержкой - времени на всё не хватает.
Цитата(CaPpuCcino @ Nov 6 2008, 02:28) *
ну вот уже предметный разговор. рад, что у нас в стране уже тоже обратили внимание на использование GPU для общих расчётов - год назат когда собирался открыть ветку по этому направлению, отказался от этой идеи, потому как понял что открывать такую ветку ещё пока рановато.
К сожалению, и сейчас открывать такую ветку нет особого смысла - она будет интересна только нескольким энтузиастам. По причине того, что современного программного обеспечения для промышленных нужд у нас в стране сейчас не создаётся. sad.gif
Меня же CUDA привлекает как ещё одна степень свободы в организации многопоточной обработки сигнала. Уж очень хорошо многие задачи, которые приходится решать, ложатся на структуру GPU, и даже самые жирные ПЛИС здесь "атдыхают".

Цитата(CaPpuCcino @ Nov 6 2008, 02:28) *
...по поводу массива из SISD (если использовать каждый мультипроцессор для общёта одного единственного треда) и тем получить MIMD архитектуру. идея конечно же резонная, но есть подводный камень - программа не будет переносится между графическими платами с чипами разных архитектур NVIDIA - причина простая - именно разное количество мультипроцессоров на кристале (т.е. не гарантировано, что именно те 2 процесса, которые должны обмениваться сообщениями через GDDR, будут реально исполнятся на 2 мультыпроцессорах единовременно) поэтому сама NVIDIA не советует проектировать приложение таким образом, чтобы на разных мультипроцессорах исполнялись разные подпрограммы - вот в этом и есть загвоздка.
Думаю, что эти подводные камни всё же можно обойти. К сожалению, NVIDIA не раскрыла пока "тонкой структуры" GPU, а писать для железяки, имея только её программную модель - в высшей степени некомфортно. Тем не менее, с моей точки зрения, разработать алгоритмы, использующие переменное количество ресурсов, вплне можно. Пример - выше.
Попытаюсь пояснить.
Большинство современных симуляторов (таких, как ModelSim, например), не умеют использовать многоядерность вычислительной платформы. На двухъядерном чипе, правда, будет выигрыш против одноядерного - процесс моделирования выделяется отдельный тред, выполняемым на одном ядре, в то время, как операционка крутится на другом. Но. У четырёхголового проца преимущества перед двухголовым уже не будет - на несколько тредов разделить задачу симулятор, написанный по "старой" идеологии, не может. С этим,вероятно, связано удивление некоторых посетителей форума, сменивших двухъядерный процессор не более мощный четырёхъядерный, и получивших в результате меньшую скорость симуляции (тактовая частота, видимо, ниже).
Как я понял, специалисты Nascentric заложили многотредовость в свой продукт OmegaSim изначально. То есть, на четырёхголовом проце скорость симуляции у них получается больше в разы, чем на двухголовом. И предела, по их утверждениям, пока нет.
Думается, именно вследствие изначально заложенной многопоточной концепции им удалось так легко включить вычислительные ресурсы GPU в процесс моделирования (симуляции), и получить выигрыш по сравнению с CPU в 5-7 раз. В то время, как "китам" просто лень этим заниматься - пришлось бы менять всю идеологию и переписывать заново софт, зачастую просто купленный у других разработчиков. И здесь они обязаны проиграть вчистую.
Есть, правда, большая вероятность, что OmegaSim будет просто куплен кем-нибудь из грандов, и не получит дальнейшего развития. sad.gif

Цитата(CaPpuCcino @ Nov 6 2008, 02:28) *
...ЗЫ:кстати собираемся в ближайшее время приобрести карточку с cell-precessor, вот они на сколько я понимаю свободны от таких ограничений как GPU (правда и стоит 3 Кбаксов)
До этого не дошёл пока, комментировать не могу.
В принципе, GPU имеет ещё большой ресурс для модернизации. Если сделают одновременное исполнение потоков хотя бы в двух ветках внутри одного мультипроцессора, производительность заметно возрастёт. Доступ к внешней памяти можно ускорить, ну, и другие фичи, конечно.

Цитата(CaPpuCcino @ Nov 6 2008, 02:28) *
...ЗЗЫ: но возможно вы и правы на счёт потенциальной возможности организации HDL симуляции на GPU, просто сказать определённо я не бирусь, не имея конкретного алгоритма для анализа - может быть овчинка выделки и стоит, а может и не стоит совершенно - всё зависит от конкретной задачи
Пробовать надо. Правда, это сейчас могут позволить себе немногие...

ЗЫ. Если есть инфа по "закрытым" фичам GPU, не поделитесь ли?


Цитата(al1 @ Nov 6 2008, 13:33) *
1. Спасибо за ссылку, действительно интересно. Если я правильно понял, на сайте написано что цены начинаются от 1300 баксов. Жаль не написана цена топового варианта. Даже если тыщ десять - это оооочень хороший вариант. Но, посмотрев видео, вынужден добавить бочку дёгтя в ложку мёда.
Вообще-то, здесь фирма NVIDIA борзеет.
Под видом неких "промышленных" видеоадаптеров Tesla Сххх продаются... самые что ни на есть "кондовые", только память у них расширена. Например, C870, тот, который 1300 бакинских, имеет такой же проц G80, что и ув. CaPpuCchino, только "бытовая" видяха GeForce 8800 GTS стОит в 10(!) раз дешевле. smile.gif
Аналогично и с остальными "промышленными" дивайсами. Например, топовая модель Tesla C1060 является полным аналогом (за исключением объёма памяти) GeForce GTX 280 за 400-500 бакинских. Разница в цене, думаю, аналогичная.
Так что не падайте духом - весь софт, по идее, должен идти и на геймерском "ширпотребе". smile.gif А памяти в Tesla-х явно избыточное количество, расчитанное на супер-пупер графику, но никак не на общие вычисления.

Цитата(al1 @ Nov 6 2008, 13:33) *
...2. Ускорение. На картинке сайта нарисовано ускорение от 10 до 100 раз. Но на видео упоминается только 10-ти кратное ускорение. А на примере, вообще, видим только 7 + обещание что на больших проектах ускорение будет больше. Но, существует программный ускоритель спайс - ADiT, у него в рекламе тоже написано ускорение от 10 до 100 раз. Правда стоит он на пару порядков дороже. Сразу возникает вопрос: почему? Т.е. в плане ускорения преимущество только одно - цена.
Ну, думаю, ускорение в 7 раз - это совсем не мало. wink.gif
Об остальном пока нет информации.

Цитата(al1 @ Nov 6 2008, 13:33) *
...3. Точность. На видео указана потеря точности 0.5 процентов. У ADiT потеря менее 3-х процентов. Но график на сайте - зависимость точности от ускорения - какой-то странный. Там верхний овал уходит в область помеченную Digital. Непонятно как при цифровом моделировании может быть потеря точности? Вывод: судя по рекламе у OmegaSim точность выше, но надо проверять.
Вероятно, дело обстоит следующим образом.
3 овала, данные на этой картинке,
http://www.nascentric.com/product_guide.html
обозначают различное "железо" и различные подходы к процессу моделирования.
1. OmegaSim - моделирование на CPU в целых числах (с фиксированной точкой). Отсюда потеря точности, (для симуляции цифири вполне терпимая) но и скорость.
2. OmegaSim AMS - моделирование на CPU в плавающей точке (float). Потеря точности меньше на полтора порядка, но и по скорости проигрыш более, чем на порядок.
3. OmegaSim GX - моделирование c привлечением ресурсов GPU в плавающей точке. Точность аналогична OmegaSim AMS, но скорость увеличена, судя по графикам, в 5 раз.

Цитата(al1 @ Nov 6 2008, 13:33) *
...4. Инфраструктура. Обычно большие проекты, особенно цифро-аналоговые, описываются на нескольких языках, например: SystemC+HDL+HDLAMS+Spice. Надо разбираться впишется-ли OmegaSim в такой проект.

5. Если ориентироваться на цену, то это решение для не больших по объёму, и простых по структуре проектов или отдельных блоков большого проекта.
ХЗ.
Если не перекупят эту контору, или проект не загнётся, думаю, всё со временем прикрутят. А для больших проектов, по-моему, ограничений как раз нет, в силу большой скорости исполнения.
Поживём-увидим, короче. smile.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post

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

 


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


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