Извиняйте, что отвечаю с задержкой - времени на всё не хватает.
Цитата(CaPpuCcino @ Nov 6 2008, 02:28)

ну вот уже предметный разговор. рад, что у нас в стране уже тоже обратили внимание на использование GPU для общих расчётов - год назат когда собирался открыть ветку по этому направлению, отказался от этой идеи, потому как понял что открывать такую ветку ещё пока рановато.
К сожалению, и сейчас открывать такую ветку нет особого смысла - она будет интересна только нескольким энтузиастам. По причине того, что современного программного обеспечения для промышленных нужд у нас в стране сейчас не создаётся.
Меня же 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 будет просто куплен кем-нибудь из грандов, и не получит дальнейшего развития.
Цитата(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(!) раз дешевле.
Аналогично и с остальными "промышленными" дивайсами. Например, топовая модель Tesla C1060 является полным аналогом (за исключением объёма памяти) GeForce GTX 280 за 400-500 бакинских. Разница в цене, думаю, аналогичная.
Так что не падайте духом - весь софт, по идее, должен идти и на геймерском "ширпотребе".

А памяти в Tesla-х явно избыточное количество, расчитанное на супер-пупер графику, но никак не на общие вычисления.
Цитата(al1 @ Nov 6 2008, 13:33)

...2. Ускорение. На картинке сайта нарисовано ускорение от 10 до 100 раз. Но на видео упоминается только 10-ти кратное ускорение. А на примере, вообще, видим только 7 + обещание что на больших проектах ускорение будет больше. Но, существует программный ускоритель спайс - ADiT, у него в рекламе тоже написано ускорение от 10 до 100 раз. Правда стоит он на пару порядков дороже. Сразу возникает вопрос: почему? Т.е. в плане ускорения преимущество только одно - цена.
Ну, думаю, ускорение в 7 раз - это совсем не мало.
Об остальном пока нет информации.
Цитата(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. Если ориентироваться на цену, то это решение для не больших по объёму, и простых по структуре проектов или отдельных блоков большого проекта.
ХЗ.
Если не перекупят эту контору, или проект не загнётся, думаю, всё со временем прикрутят. А для больших проектов, по-моему, ограничений как раз нет, в силу большой скорости исполнения.
Поживём-увидим, короче.
Самонадеянность слепа. Сомнения - спутник разума. (с)