|
Методы повышения производительности фиттера, рассуждаем |
|
|
|
Oct 10 2011, 11:44
|
Частый гость
 
Группа: Участник
Сообщений: 135
Регистрация: 9-09-11
Пользователь №: 67 084

|
Хао, други! Осенило тут вопросом - а можно ли использовать для ускорения фиттинговых вычислений CUDA? Честно говоря, не очень понятно почему Альтера (на ее примере, т.к. работаю только с ней) к этому не пришла. Мне кажется, фиттеровские алгоритмы идеально лягут на куду... Или это уже как-то реализовано и я такой непросвященный? Давайте порассуждаем на эту тему. Помогу начать. Вот смотрите. По сути, ПЛИС - это очень большая и сложная сетка (граф, но не Дракула  ). Возьмем некий сферический фиттер в вакууме. По сути, его задача - отобразить синтезированную ранее логику на эту сетку таким образом, чтобы результат удовлетворял заданным ограничениям. Я не знаю достоверно как работает фиттер - могу лишь сидеть и фантазировать, но думаю что трассировку этой сетки он выполняет не путем тупого перебора всех возможных ее комбинаций, и не пытается уложить в сетку сразу всю логику сразу, а делает все по-частям. И я так понимаю, все нынешние фиттеры делают это последовательно - сначала одну кучку логики, потом другую, потом еще одну и т.д., после чего уже работают на уровне этих разведенных "кучек". Так вот - что мешает фиттеру укладывать одновременно несколько кучек? На тот же GPU это бы легло очень продуктивно, мне кажется... А там и до сетевого кластерного фиттера недалеко. Правда, сегодня фиттеры до сих пор не могут нормально использовать даже несколько ядер внутри обычного ЦП (лично у меня альтеровский фиттер Processors Usage не поднимал еще ни разу выше 1.2 - и это при наличии 4-х ядер.)
Сообщение отредактировал ilkz - Oct 10 2011, 11:46
|
|
|
|
|
 |
Ответов
|
Oct 10 2011, 12:22
|
Частый гость
 
Группа: Участник
Сообщений: 135
Регистрация: 9-09-11
Пользователь №: 67 084

|
Цитата(DmitryR @ Oct 10 2011, 16:17)  ... и невозможность делать это автоматически. Мне кажется, для определения партиции можно использовать сами модули. Модуль - партиция. Ну либо несколько модулей, вложенных в один (а часто так и бывает) - тоже, по сути, партиция. Кстати, лично я не особо доверяю инкрементальной компиляции, т.к. она, бывает, глючит - компилятор иногда не может что-то с чем-то свести и все времянки либо логика летят к черту )) Такое уже не раз было. Помогает снос incremental_db.
Сообщение отредактировал ilkz - Oct 10 2011, 12:24
|
|
|
|
|
Oct 10 2011, 12:37
|
Частый гость
 
Группа: Участник
Сообщений: 135
Регистрация: 9-09-11
Пользователь №: 67 084

|
Цитата(DmitryR @ Oct 10 2011, 16:27)  Ага. Прощай трансграничная оптимизация - здравствуй лишний объем и снижение Fmax. Я просто предположил  Обычно же стыки крупных модулей делают такими, чтобы они (модули) были друг от друга максимально отвязаны (например, это два модуля, работающих в двух разных тактовых доменах). Отсюда и возникла такая мысль.
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|