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

 
 
> ПЛИС для вычислений с длинной арифметикой
planetzeus
сообщение Nov 27 2017, 15:18
Сообщение #1





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



Помогите пожалуйста с выбором.
Нужно делать вычисления с длинной арифметикой - до 8 тысяч бит. Т.е нужно простое АЛУ, но числа очень длинные.
Вычисления относительно простые - сложение, вычитание (сложение с отрицательным в обратном коде), сдвиг на бит и пара таких же длинных счетчиков.
Никаких умножений или делений. Т.е задаем начальные значения и и девайс должен складывать (вычитать) числа в зависимости от знакового бита, пока не дойдет до конечного или не найдет совпадения с заданным длинным числом.
На компьютере такие вычисления крайне медленные. На GPU тоже, так как в любом случае сложение вычисляется группами по 64 бита.
Поэтому подумал, что идеальный вариант - собственное АЛУ, которое делает одну операцию со всеми битами за такт. Насколько я понимаю, самый правильный вариант - ПЛИС.
Желательно делать перебор с максимальной скоростью - к примеру если есть возможность 1 или 2 Ггц, то именно это и нужно.
Почитал про ПЛИС и есть желание разобраться, но не понятно с какого девайса начинать искать. Не хотелось бы покупать плату, которая в итоге не подойдет для этой задачи.
Мне не нужны разные интерфейсы, USB и может быть микроконтроллер на плате пригодится, но остальное по большому счету не очень важно.
Посоветуйте пожалуйста с чего начинать и какую плату для разработки выбрать. Самый главный критерий - максимальная производительность и возможность "зашить" свою логическую схему.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
planetzeus
сообщение Nov 27 2017, 17:56
Сообщение #2





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



Спасибо всем за ответы.
Согласен, что сумматор - самая тормозная часть и разбивать 8000 бит на части в любом случае придется.
Думаю, что можно оптимизировать маленькие блоки по несколько бит таблицей истинности или что-то типа этого.
Я пробовал реализовать этот алгоритм на CPU. Маленькие числа по 64 бит считаются к примеру чуть меньше секунды. Но то же самое число в виде длинного (т.е реально число маленькое, но операции выполняем над всеми битами блоками по 64 бит) считается примерно в 1000 раз медленнее. Пробовал сугубо для проверки арифметики с битами.
Сначала хотел попробовать на GPU, у меня 1080Ti, но потом подумал, что в любом случае это операции над блоками. Ну и процессор есть процессор - обработка команд, работа с памятью. Поэтому подумал, что ПЛИС возможно будет в данном случае намного быстрее. Например сдвиг вправо на бит и установка нулевого бита в 1 (умножение на 2 и +1) это вообще можно сделать за один реальный такт. Т.е один регистр содержит все биты числа, а второй регистр будет сразу содержать это число * 2 + 1. Проблема скорости только в сумматоре.
Поглядывал вот на этот девайс
www.amazon.com/dp/B00N3LHRYU?m=A2D3CNDMUB3UW1&ref_=v_sp_detail_page
www2.hdl.co.jp/en/plink/xcm-111.html
но не уверен, что подходит для этих целей.
Go to the top of the page
 
+Quote Post
Shivers
сообщение Nov 28 2017, 06:19
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Цитата(planetzeus @ Nov 27 2017, 20:56) *
Согласен, что сумматор - самая тормозная часть и разбивать 8000 бит на части в любом случае придется.

Погуглите про систему остаточных классов (СОК). Специально придумано для распараллеливания арифметики с разрядностью в сотни и тысячи бит. Придумано кстати уже давно, лет 50 назад, и используется столько же - в спец. задачах. Главный недостаток СОК - хорошо работает только умножение и сложение, с делением проблемы. Но Вам то как раз сложение и нужно, я так понял.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- planetzeus   ПЛИС для вычислений с длинной арифметикой   Nov 27 2017, 15:18
- - x736C   8000 тыс за такт на частоте 1 гиг — забудьте. Мож...   Nov 27 2017, 15:54
|- - planetzeus   Цитата(x736C @ Nov 27 2017, 19:54) 8000 т...   Nov 27 2017, 16:11
- - x736C   Ошибся. Имелось в виду 8 тыс., а не 8000 тыс. ПЛИ...   Nov 27 2017, 16:37
- - RobFPGA   Цитата(planetzeus @ Nov 27 2017, 18:18) ....   Nov 27 2017, 16:51
- - _pv   а вот это вот вычитание/сложение одного и того же ...   Nov 27 2017, 17:41
- - _pv   тогда уж https://www.aliexpress.com/item/Xilinx-FP...   Nov 27 2017, 18:04
- - ViKo   Это что, майнеры криптовалюты ищут черный ход?   Nov 27 2017, 20:00
- - _Ivan_33   А что мешает написать это все на opencl под видеок...   Nov 28 2017, 08:29
|- - planetzeus   Цитата(_Ivan_33 @ Nov 28 2017, 12:29) А ч...   Nov 28 2017, 10:37
|- - AVR   Цитата(planetzeus @ Nov 28 2017, 13:37) И...   Nov 28 2017, 10:54
||- - planetzeus   Цитата(AVR @ Nov 28 2017, 14:54) Не, не т...   Nov 28 2017, 11:07
||- - blackfin   Цитата(planetzeus @ Nov 28 2017, 14:07) М...   Nov 28 2017, 11:21
||- - AVR   Цитата(planetzeus @ Nov 28 2017, 14:07) П...   Nov 28 2017, 14:14
||- - Fat Robot   Использовать CLA. Если есть ограничения на pipel...   Nov 28 2017, 15:20
|- - blackfin   Цитата(planetzeus @ Nov 28 2017, 13:37) Я...   Nov 28 2017, 11:00
|- - Alex77   Цитата(planetzeus @ Nov 28 2017, 13:37) В...   Nov 28 2017, 11:21
|- - planetzeus   Цитата(Alex77 @ Nov 28 2017, 15:21) ...   Nov 28 2017, 11:38
|- - blackfin   Цитата(planetzeus @ Nov 28 2017, 14:38) М...   Nov 28 2017, 11:44
||- - jojo   Цитата(blackfin @ Nov 28 2017, 14:44) Выб...   Nov 28 2017, 12:23
||- - blackfin   Цитата(jojo @ Nov 28 2017, 15:23) Или Xil...   Nov 28 2017, 12:28
||- - jojo   Цитата(blackfin @ Nov 28 2017, 15:28) Да ...   Nov 28 2017, 12:45
||- - x736C   Цитата(jojo @ Nov 28 2017, 15:45) Кстати,...   Nov 28 2017, 22:30
||- - jojo   Цитата(x736C @ Nov 29 2017, 01:30) Я бы е...   Nov 29 2017, 05:33
|- - Realking   Цитата(planetzeus @ Nov 28 2017, 14:38) В...   Nov 28 2017, 12:57
|- - RobFPGA   Приветствую. Цитата(planetzeus @ Nov 28 2017,...   Nov 28 2017, 13:55
- - AVR   Не увидел, чтобы кто-то спросил автора темы: зачем...   Nov 28 2017, 10:08
- - ViKo   Инкрементировать 8000-разрядное число (т.е. + 1) н...   Nov 28 2017, 10:57
- - _Ivan_33   И все-таки по поводу девайса, посмотрите на решени...   Nov 28 2017, 12:55
- - krux   planetzeus Перенос в FPGA "только АЛУ", ...   Nov 28 2017, 17:09
|- - planetzeus   Цитата(krux @ Nov 28 2017, 21:09) в FPGA ...   Nov 28 2017, 18:01
|- - krux   Цитата(planetzeus @ Nov 28 2017, 21:01) П...   Nov 28 2017, 18:25
- - iiv   Цитата(planetzeus @ Nov 27 2017, 20:18) П...   Nov 28 2017, 18:23
|- - planetzeus   Цитата(iiv @ Nov 28 2017, 22:23) То есть ...   Nov 28 2017, 18:42
|- - AVR   Цитата(planetzeus @ Nov 28 2017, 21:42) С...   Nov 28 2017, 19:23
|- - planetzeus   Цитата(AVR @ Nov 28 2017, 23:23) Только в...   Nov 28 2017, 20:05
|- - jojo   Цитата(planetzeus @ Nov 28 2017, 23:05) И...   Nov 28 2017, 20:45
||- - blackfin   Цитата(jojo @ Nov 28 2017, 23:45) На вдав...   Nov 28 2017, 21:39
||- - blackfin   Цитата(jojo @ Nov 28 2017, 23:45) 25*2*80...   Nov 29 2017, 05:05
||- - jojo   Цитата(blackfin @ Nov 29 2017, 08:05) Рез...   Nov 29 2017, 05:39
||- - blackfin   Цитата(jojo @ Nov 29 2017, 08:39) Тем не ...   Nov 29 2017, 05:43
|- - Plain   Цитата(planetzeus @ Nov 28 2017, 23:05) П...   Nov 28 2017, 23:24
- - Shivers   Я там выше уже писал про систему остаточных классо...   Nov 29 2017, 05:15
|- - blackfin   Цитата(Shivers @ Nov 29 2017, 08:15) Все ...   Nov 29 2017, 05:36
- - vladec   И все таки, почему как предлагает Shivers не хотит...   Nov 29 2017, 07:29
- - Александр С.   Когда-то Mentor Graphics агитировал всем делать AS...   Dec 13 2017, 16:23
- - jojo   Цитата(Александр С. @ Dec 13 2017, 19:23)...   Dec 13 2017, 16:42
- - iosifk   Цитата(Александр С. @ Dec 13 2017, 19:23)...   Dec 13 2017, 19:06


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:25
Рейтинг@Mail.ru


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