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

 
 
> Методы повышения производительности фиттера, рассуждаем
ilkz
сообщение Oct 10 2011, 11:44
Сообщение #1


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

Группа: Участник
Сообщений: 135
Регистрация: 9-09-11
Пользователь №: 67 084



Хао, други!

Осенило тут вопросом - а можно ли использовать для ускорения фиттинговых вычислений CUDA? Честно говоря, не очень понятно почему Альтера (на ее примере, т.к. работаю только с ней) к этому не пришла. Мне кажется, фиттеровские алгоритмы идеально лягут на куду... Или это уже как-то реализовано и я такой непросвященный?

Давайте порассуждаем на эту тему.

Помогу начать.

Вот смотрите. По сути, ПЛИС - это очень большая и сложная сетка (граф, но не Дракула sm.gif). Возьмем некий сферический фиттер в вакууме. По сути, его задача - отобразить синтезированную ранее логику на эту сетку таким образом, чтобы результат удовлетворял заданным ограничениям.

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

Так вот - что мешает фиттеру укладывать одновременно несколько кучек? На тот же GPU это бы легло очень продуктивно, мне кажется... А там и до сетевого кластерного фиттера недалеко. Правда, сегодня фиттеры до сих пор не могут нормально использовать даже несколько ядер внутри обычного ЦП (лично у меня альтеровский фиттер Processors Usage не поднимал еще ни разу выше 1.2 - и это при наличии 4-х ядер.)

Сообщение отредактировал ilkz - Oct 10 2011, 11:46
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ilkz
сообщение Oct 10 2011, 12:05
Сообщение #2


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

Группа: Участник
Сообщений: 135
Регистрация: 9-09-11
Пользователь №: 67 084



Насколько мне известно, графическая память гораздо быстрее обычной. Соответственно, что мешало бы выгружать в GPU небольшие (относительно) партиции, компилировать их, а уже само "сведение" партиций делать на центральном процессоре ПК? Эдакий "конвеер партиций".
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 10 2011, 12:17
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(ilkz @ Oct 10 2011, 16:05) *
что мешало бы выгружать в GPU небольшие (относительно) партиции

Нежелание юзеров выделять такие партиции и невозможность делать это автоматически.
Go to the top of the page
 
+Quote Post
ilkz
сообщение Oct 10 2011, 12:22
Сообщение #4


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

Группа: Участник
Сообщений: 135
Регистрация: 9-09-11
Пользователь №: 67 084



Цитата(DmitryR @ Oct 10 2011, 16:17) *
... и невозможность делать это автоматически.


Мне кажется, для определения партиции можно использовать сами модули. Модуль - партиция. Ну либо несколько модулей, вложенных в один (а часто так и бывает) - тоже, по сути, партиция.
Кстати, лично я не особо доверяю инкрементальной компиляции, т.к. она, бывает, глючит - компилятор иногда не может что-то с чем-то свести и все времянки либо логика летят к черту )) Такое уже не раз было. Помогает снос incremental_db.

Сообщение отредактировал ilkz - Oct 10 2011, 12:24
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 10 2011, 12:27
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(ilkz @ Oct 10 2011, 16:22) *
Мне кажется, для определения партиции можно использовать сами модули. Модуль - партиция.

Ага. Прощай трансграничная оптимизация - здравствуй лишний объем и снижение Fmax.
Go to the top of the page
 
+Quote Post
ilkz
сообщение Oct 10 2011, 12:37
Сообщение #6


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

Группа: Участник
Сообщений: 135
Регистрация: 9-09-11
Пользователь №: 67 084



Цитата(DmitryR @ Oct 10 2011, 16:27) *
Ага. Прощай трансграничная оптимизация - здравствуй лишний объем и снижение Fmax.


Я просто предположил sm.gif Обычно же стыки крупных модулей делают такими, чтобы они (модули) были друг от друга максимально отвязаны (например, это два модуля, работающих в двух разных тактовых доменах). Отсюда и возникла такая мысль.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 10 2011, 13:04
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(ilkz @ Oct 10 2011, 16:37) *
Обычно же стыки крупных модулей делают такими, чтобы они (модули) были друг от друга максимально отвязаны

Да, но вы правильно тут говорите - стыки крупных модулей. А их в проекте обычно немного: у меня в UltraSPARC-системе количество партиций до десятка кажется не дотягивало. Но чтобы система хорошо на CUDA легла - их должны быть многие десятки.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ilkz   Методы повышения производительности фиттера   Oct 10 2011, 11:44
- - DmitryR   Если дизайн поделить на партиции - CPU usage будет...   Oct 10 2011, 11:59
- - AJIEKCEu   Цитата(ilkz @ Oct 10 2011, 15:44) Помогу ...   Oct 10 2011, 12:13
- - dvladim   Цитата(ilkz @ Oct 10 2011, 15:44) Осенило...   Oct 10 2011, 18:37
- - jojo   Что-то мне кажется, что основная проблема в коде ...   Oct 10 2011, 19:14
- - dvladim   Цитата(jojo @ Oct 10 2011, 23:14) Что-то ...   Oct 11 2011, 03:52
- - jojo   Так будет точнее. Но есть ощущение (см. bitgen), ...   Oct 11 2011, 10:55
- - iiv   Цитата(ilkz @ Oct 10 2011, 17:44) Осенило...   Oct 13 2011, 18:30
|- - VladimirB   Цитата(iiv @ Oct 13 2011, 22:30) ...Решил...   Oct 13 2011, 19:28
|- - DmitryR   Цитата(VladimirB @ Oct 13 2011, 22:28) Ку...   Oct 14 2011, 06:53
- - dm.pogrebnoy   Уже обсуждалось тут что работа файловой подсистемы...   Oct 13 2011, 19:56


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

 


RSS Текстовая версия Сейчас: 27th August 2025 - 21:03
Рейтинг@Mail.ru


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