356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,376
Записей в блоге: 111
1

Подскажите по ПЛИС

12.06.2022, 00:20. Показов 1285. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Когда-то узнавал, но информацию забыл, давно было.
Закладок тех нет уже. Но если память мне не изменяет, то читал что на ПЛИС можно сделать даже микросхему памяти с нужной архитектурой.
Ну может такие выводы были сделаны самостоятельно, но информацию наводящую читал.

ТЗ вкратце - есть Jetson Nano, планирую использовать для экспериментов с кодом нейросетей.
Свёрточные нейросети заменил своим способом и хочу перенести их в отдельную железку, так как умножение мне не нужно, да и свёртки тоже.

Суть предполагаемого проекта с ПЛИС в том, что изображение загружается в него числом копий равным числу, опционально вводимому, допустимых направлений линий. Далее с помощью карт трассировок (1)...я допускаю 180 карт, и допустимое изображение(2)...пусть будет 2000*1000 пикселов, итого 360 000 000 байт если байт - значение пиксела. Желательно чтобы в разные секции изображение прогрузилось сразу. При прошивке ПЛИС в каждую секцию зальётся для неё индивидуальный сгенерированный на компьютере алгоритм суммирования и следования трассировкам - памяти не много. А вот карты трассировок (1)- это массивы объёмом максимального разрешения, но только в каждой ячейке хранятся координаты, такова суть трассировки. Это ещё+ не знаю сколько мегабайт.
Далее каждая секция обработает согласно картам копию изображения и должна выдать на пины Jetson Nano результаты... в сообщении, или массиве данных, не важно как в общем но суть в том, что результаты вернутся обратно вместо принятого изображения.


Вопрос - во сколько обойдётся такая ПЛИС, или лучше воспользоваться самим jetson nano?

Добавлено через 4 минуты
В общем суть в том, что свёрточные нейросети я хотел-бы перенести на ПЛИС, так как имею свой алгоритм их заменяющий, а голову проекта поставить на Jetson Nano - я не хочу им обрабатывать изображения с камер.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2022, 00:20
Ответы с готовыми решениями:

Подскажите учебный набор для работы с ПЛИС
Сложилась такая ситуация в универе: Второй год как мучаем на занятиях лабораторный стенд...

подскажите плис что делать
после переустановки ввиндовса у меня появился стандартный fga графический адаптер .у меня...

установил Windows 7 Максимальная и пропал второй локальный диск как его найти? подскажите плис!
установил Windows 7 Максимальная и пропал второй локальный диск как его найти? подскажите плис!

ПЛИС
Приветствую! Поработав некоторое время с МК, меня все равно тянет в сторону ПЛИС :) Собственно и...

19
3204 / 2348 / 539
Регистрация: 11.09.2009
Сообщений: 8,571
12.06.2022, 04:45 2
Цитата Сообщение от Hretgir Посмотреть сообщение
360 000 000 байт ... ещё+ не знаю сколько мегабайт. ... во сколько обойдётся такая ПЛИС
Разве что заказать разработку ПЛИС с таким объёмом памяти у XILINX или у ALTERA-INTEL. Во сколько обойдётся? ... Даже боюсь представить.
Реально - сделать с внешней памятью.
0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,376
Записей в блоге: 111
12.06.2022, 08:13  [ТС] 3
Проще присобачить к джетсон нано видеокарту и заставить её выполнять распараллеленные вычисления с целыми числами. Ясно, спасибо за ответ. Дешевле будет во всех отношениях.

Добавлено через 2 минуты
В джетсон привлекает энергопотребление к производительности.

Добавлено через 2 минуты
Просто я хотел вариант дешевле видеокарты.
0
6 / 6 / 0
Регистрация: 23.03.2021
Сообщений: 42
12.06.2022, 15:46 4
В ПЛИС (работал с ALTERA-INTEL) есть обширная внутренняя статическая память, которую можно разбивать на независимые части и конфигурировать разными способами, что достаточно удобно. Но этой статической памяти может иногда не хватать, тогда применяют внешнею память (применял оба варианта, но с внутренней понравилась больше). Все зависит от используемых алгоритмов и применяемых вычислительных процессов.
0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,376
Записей в блоге: 111
12.06.2022, 17:55  [ТС] 5
Разве что такой примерно вариант, но это мне не светит в ближайшем будущем - точно, так как максимум я смогу на C++, да и наверное мне проще будет с CUDA, чем логические матрицы...
В общем ясно что это не ардуина и тут всё не так просто.
0
3204 / 2348 / 539
Регистрация: 11.09.2009
Сообщений: 8,571
12.06.2022, 18:09 6
Цитата Сообщение от NewEmbedder Посмотреть сообщение
В ПЛИС ... есть обширная внутренняя статическая память
Прежде чем давать советы, откройте документацию на самые топовые ПЛИС верхнего ценового диапазона (от 5000 USD), и посмотрите, СКОЛЬКО в них памяти. Потом ещё раз перечитайте, сколько надо ТС-у. Плюс его пожелание сделать дешевле, чем на Jetson Nano.

Добавлено
Цитата Сообщение от Hretgir Посмотреть сообщение
Разве что ... Cyclon V
Блиннн... Да откройте вы документацию, и посмотрите.
0
6 / 6 / 0
Регистрация: 23.03.2021
Сообщений: 42
12.06.2022, 18:43 7
Если не хватит памяти внутри ПЛИС можно добавить и внешней. А есть еще разные способы организации вычислительных процессов свойственные только ПЛИС, например, конвейеризация. Здесь все зависит от понимания задачи и возможных способов ее оптимизации на разных уровнях. Выбирать то не нам, а ТС-у

Добавлено через 12 минут
ТС сказал, что применяет нейронные сети (НС). Меня профессионально уже давно интересует использование НС для фильтрации помех от гидрометеоров (волны, дождь, лед) на этапе первичной обработки РЛС-сигналов для гражданских береговых локаторов. Сейчас на ПЛИС в реальном времени использую для отфильтровки помех несколько других методов, но заинтересовали и НС.
0
3204 / 2348 / 539
Регистрация: 11.09.2009
Сообщений: 8,571
12.06.2022, 18:47 8
Цитата Сообщение от NewEmbedder Посмотреть сообщение
можно добавить и внешней
Читайте пост №2.

Цитата Сообщение от NewEmbedder Посмотреть сообщение
есть еще разные способы организации вычислительных процессов свойственные только ПЛИС, например, конвейеризация
И тут мимо. Есть матричные процессоры, есть DSP, ... Конвейеризация свойственна не только ПЛИС. Да и вообще, ПЛИС - это всего лишь Программируемая логическая интегральная схема. Создана для удобства макетирования при разработке, создания прототипов, изготовления единичных и малосерийных изделий. А есть ещё куча других и очень разных хЛИС.

Цитата Сообщение от NewEmbedder Посмотреть сообщение
Здесь все зависит от понимания задачи
А на форуме - от понимания заданного вопроса.
0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,376
Записей в блоге: 111
12.06.2022, 20:52  [ТС] 9
Цитата Сообщение от i8085 Посмотреть сообщение
А на форуме - от понимания заданного вопроса.
Ну вот генератор карт трассировок. На паскале
Кликните здесь для просмотра всего текста
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
  procedure Step1;
  var
    pi,pi1:^integer;
    step,stepF,stepFF,s,i, ves, picsels, sl, fi1, fi, ri1, power,pfi, Basi1:integer;
     dvavosem,FcountPix, countPix, FcountPix1,SignCTG, CaTanDegP:integer;
    CaTanDeg,TanDeg, deg, coefficient, slag1, countI, countI1,   fiOs:Extended;
    xy:array[1..2] of integer; //   сделать массив, чтобы менять икс с игрком местами в алгоритме
    begin
//      power:=TrackBar1.Position;
      sl:= StrToInt(Edit1.Text);
      SetLength(Tracersloi, sl, 28, 28);
      deg := 180 div sl;
      coefficient:=1/28;
      for s:=0 to sl-1 do begin
         TanDeg := Tan(DegToRad(s*deg ));
         CaTanDeg:= 1/TanDeg;
         if TanDeg>CaTanDeg then begin
           pi:=@i;
           pi1:=@i1;
 //          CaTanDeg:=CaTanDeg;
           end
         else begin
           pi:=@i1;
           pi1:=@i;
           CaTanDeg:=TanDeg;
            end;
         CaTanDegP:= Trunc(CaTanDeg);
         if CaTanDegP=0 then begin
           fi:=0;
           FcountPix:=28;
           end else begin
            fi:=Trunc(28 div CaTanDegP);
            FcountPix:=CaTanDegP;
              end;
            FcountPix1:=28-fi*CaTanDegP;
            stepF:=fi;
            fi1:= 27+fi;
            Basi1:=0;
            repeat
            i1:=Basi1;// тут начинается чтение ячеек
            step:=0;
            i:=27;
            TtracerRec.bool:=false;
            repeat
            if Basi1>27 then  begin ////////////////////////////////
            step:= fi1-Basi1;
            i:=27-(step*FcountPix);
            i1:=Basi1-step;
            end;
            ri1:=Basi1-fi;
            if (FcountPix1>=1) then begin
            ri1:=ri1-1;
//            stepF:=fi+1;
            end;
            if ri1<0 then begin
            step:=0-ri1;
            end;
            TtracerRec.yg:=i1;
            countPix:=0;
            TtracerRec.ix:=i;
            while countPix < FcountPix do begin
            dec(i);
            inc(countPix);
            Tracersloi[pi^,pi1^,sl]:=TtracerRec;
            StringGrid1.Cells[1+pi^,1+pi1^]:= IntToStr(pi^)+','+IntToStr(pi1^);
            TtracerRec.ix:=i;
            end;
            dec(i1);
            inc(step);
            until (step=stepF);
            if FcountPix1>0 then begin
            countPix:=0;
            TtracerRec.ix:=i;
            TtracerRec.yg:=i1;
            while countPix < FcountPix1 do begin
            dec(i);
            inc(countPix);
            Tracersloi[pi^,pi1^,sl]:=TtracerRec;
            StringGrid1.Cells[1+pi^,1+pi1^]:= IntToStr(pi^)+','+IntToStr(pi1^) +','+BoolToStr(TtracerRec.bool, '1', '0');
            TtracerRec.ix:=i;
            end;
 
       end;
            TtracerRec.bool:=true;
            inc(Basi1);
            until Basi1=fi1;
         end;
      end;

Он в отладке, и условные операторы при организации циклов - я уберу, они не нужны, просто сейчас так, чтобы не запутаться в коде.
Сама задача - замена свёрточных нейросетей.
Запись в блоге не делал пока что...
надо хотя-бы генератор карт трассировок закончить.
Потом когда они будут готовы - за каждой картой закрепить блок ПЛИС, карт в самом большом случае наверное 180, 180* на площадь в пикселах...ну пусть два миллиона (бит или байт - можно по разному, всё зависит от денех, но если денех только на биты - то операций загрузки изображений можно увеличить в зависимости от градаций, далее - от цветов, в общем денех много не бывает). Суть каждого блока ПЛИС - суммирование закрашенных пикселов линии, где каждый следующий пиксел указан в карте трассировки, если линия обрывается - длина линии известна, счётчик обнуляется.
0
3204 / 2348 / 539
Регистрация: 11.09.2009
Сообщений: 8,571
12.06.2022, 21:45 10
Цитата Сообщение от Hretgir Посмотреть сообщение
вот генератор карт трассировок
Могу конечно ошибаться, не настолько глубоко вник, но по-моему этот код должен неплохо распараллеливаться. Вы не пробовали просто оценить скорость выполнения на современном универсальном многоядерном процессоре, в вашем ПК например? За что биться-то надо?
Если за быстродействие - это одно, если за минимальную цену - совсем другое, за компактность - вообще совершенно третье ...
0
1469 / 1388 / 238
Регистрация: 19.02.2010
Сообщений: 3,889
12.06.2022, 22:37 11
Цитата Сообщение от Hretgir Посмотреть сообщение
Сама задача - замена свёрточных нейросетей.
надо хотя-бы генератор карт трассировок закончить.
Потом когда они будут готовы - за каждой картой закрепить блок ПЛИС, карт в самом большом случае наверное 180, 180* на площадь в пикселах.... Суть каждого блока ПЛИС - суммирование закрашенных пикселов линии, где каждый следующий пиксел указан в карте трассировки, если линия обрывается - длина линии известна, счётчик обнуляется.
2 all:
Народ, не относитесь серьёзно к цитированным словам - ТС не разбирается ни в свёрточных сетках, ни просто в обработке изображений.
Его слова - это просто кривое переоткрытие алгоритма, известного уже более полувека, а именно - https://ru.wikipedia.org/wiki/Преобразование_Хафа
Там правая часть последней картинки - количественный и качественный аналог того, что ТС хочет рассчитать в качестве результата. Ось угла поворота - это его 180 возможных направлений линии. Яркости пятен - это счётчики пиксельных длин объектов (линий в том примере). Расстояние от угла картинки плюс угол поворота - дают локацию положения объекта на двумерной "карте" (на исходном изображении).
Но поскольку ТС хочет получать местоположение объекта "наивно" (через декартовы ХУ-координаты объекта на карте) - то у него и выросло число карт (число массивов промежуточных результатов, по одному на каждый возможный угол поворота), вместо того, чтобы представлять результат в полярных координатах на одной итоговой карте.
2
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,376
Записей в блоге: 111
12.06.2022, 23:11  [ТС] 12
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Но поскольку ТС хочет получать местоположение объекта "наивно" (через декартовы ХУ-координаты объекта на карте) - то у него и выросло число карт (число массивов промежуточных результатов
болтун, число карт возрастает в связи с тем, чтобы определять вершины углов, а количество слоёв между двумя картами определяет угол.
жалоба за клевету. Местоположение мой алгоритм не исследует.
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
вместо того, чтобы представлять результат в полярных координатах на одной итоговой карте.
ну и представляй на одной карте, кто тебе мешает?
Я тебе мешаю?

А у меня полярные карты, и это намного быстрее обработается, так как можно привлечь трассировку для оптимизации обработки.
Не наивно, а быстро.
И это только часть обработки. Просто дальше машине уже проще намного будет - сокращена уже будет масса операций.
0
1469 / 1388 / 238
Регистрация: 19.02.2010
Сообщений: 3,889
12.06.2022, 23:17 13
Цитата Сообщение от Hretgir Посмотреть сообщение
число карт возрастает в связи с тем, чтобы определять вершины углов, а количество слоёв между двумя картами определяет угол.
Враньё. Смотрим стартовый пост:
Цитата Сообщение от Hretgir Посмотреть сообщение
изображение загружается в него числом копий равным числу, опционально вводимому, допустимых направлений линий. Далее с помощью карт трассировок (1)...я допускаю 180 карт
Тут однозначно число карт определяется числом направлений линий (180 в случае ненаправленных линий), а не для определения вершин углов.
Про число слоёв между двумя картами тоже ничего.
Поэтому не надо пытаться соскочить.

Добавлено через 1 минуту
Цитата Сообщение от Hretgir Посмотреть сообщение
Не наивно, а быстро.
Было бы быстро - не было бы вопросов/желаний использовать ПЛИС либо Джетсон
Поэтому повторяю - не истери и не позорься.
1
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,376
Записей в блоге: 111
12.06.2022, 23:35  [ТС] 14
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
2 all:
Народ,
а этот тип - VTsaregorodtsev,
разбирается, просто сознательно гадит, таких много даже в ФИПСе.
Раз пошла такая драчка - скажу что ФИПС сознательно искажает сведения о датах приоритета (гидропривода для робототехники), причём в отделе потребителя завявляю так-"не хотим работать", госпошлина оплачена и всё сделано как надо было.
И этот типчик VTsaregorodtsev- не дурачёк, он знает свои выгоды с того что гадит другим.
Уверен - это сейчас он беспричинно поливает меня грязью, когда ему станет выгодно в следующий раз делать это с другими - он не задумываясь начнёт клеветать на любого из вас, он просто преследует свои выгоды. Тем-же заняты сотрудники ФИПСа, когда нарушают чужие права, работники банков, и много тех, кто знает что не будет наказан или для кого это шанс избежать наказания.

Добавлено через 1 минуту
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Тут однозначно число карт определяется числом направлений линий (180 в случае ненаправленных линий), а не для определения вершин углов.
вершины углов позднее определятся через пикселы соединяющие линии, а через число слоёв - угол между линиями.
Это часть обработки, и всецело всю обработку на ПЛИС я и не задумывал возлагать.

И ни у кого я ничего не воровал и ничего не переделывал чужого.

Добавлено через 4 минуты
С преобразованием Хафа общее только то, что и там и там есть углы.
ЛОЛ, клеветник
VTsaregorodtsev.


Добавлено через 5 минут
Если мой способ - кривая реализация, то он будет медленнее алгоритма Хафа , а если быстрее
то ты VTsaregorodtsev - клеветник.


Длина линий - она всегда определяется через обозначение предела, который представляет собой сумму некоторых длинн. Так что тут Хаф ничего нового не открыл.
А у меня через слои определятся далее и вершины и углы. Именно для этого у меня много слоёв. Да сколько углов - столько и слоёв, только тут ты сообразил, но не более того. И то не факт что тебе не подсказали.
0
1469 / 1388 / 238
Регистрация: 19.02.2010
Сообщений: 3,889
12.06.2022, 23:48 15
Цитата Сообщение от Hretgir Посмотреть сообщение
вершины углов позднее определятся
Шо, опять про что-то надуманное/внешнее, не описанное в "начальных условиях"?
Это я про слово "позднее".
Увы, тут телепатов нет и никто не в курсе твоих будущих планов.
Но как увести разговор в сторону - тебе ведь годится, да?

Цитата Сообщение от Hretgir Посмотреть сообщение
Если мой способ - кривая реализация, то он будет медленнее алгоритма Хафа , а если быстрее
Да не будет он быстрее.
Он вообще не будет.
У тебя же упомянутая тут тема - уже перевалила за двухмесячный срок жизни. А до этого - была ведь тема в другом разделе (ИИ либо Непризнанные). Это вот такие вот у тебя темпы доведения простой алгоритмики до работоспособного состояния:
Цитата Сообщение от Hretgir Посмотреть сообщение
надо хотя-бы генератор карт трассировок закончить.
Так что при таких твоих компетенциях/квалификациях в программировании - насчёт возможной скорости твоих поделок тоже всем всё сразу понятно.


Не по теме:

Hretgir, Как же ты быстро скатываешься в истеричное хамство.

1
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,376
Записей в блоге: 111
13.06.2022, 00:21  [ТС] 16
Я тебе не электровеник, чтобы работая сварщиком делать свои проекты в прайм-тайм один час, и не после отдыха.
Я сказал- работаю над проектом, а не закончил его.

Добавлено через 1 минуту
Он вообще не будет.
У тебя же упомянутая тут тема - уже перевалила за двухмесячный срок жизни.

Прайм тайм час в сутки, об этом указано в той теме.
Так что не будь ты.

Добавлено через 2 минуты
Так что при таких твоих компетенциях/квалификациях в программировании - насчёт возможной скорости твоих поделок тоже всем всё сразу понятно.


Не по теме:

Hretgir, Как же ты быстро скатываешься в истеричное хамств
Скажи лучше честно-сколько выгод приобретаешь и от кого и на скольких , за искажения сведений подобно ФИПСу?
Только не говори что ты это делаешь совершенно бескорыстно.

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

Добавлено через 16 минут
И кто ты такой, чтобы отвечать за то, как я буду тратить своё личное время, заявляя от том что проект не будет? Ты во всеуслышание посягаешь на личное других (в данном случае и время и результат поиска решения, я знаю что если тебе не упомянуть твоё заявление о кривой реализации- ты напишешь что результата нет, я подобных тебе встречаю так часто, чтобы знать их наперед) ? А ты не боишься последствий? Или считаешь что преступников такого рода как ты-достаточно чтобы не отвечать за ими ими содеяное?
0
ValeryS
13.06.2022, 07:05
  #17
 Комментарий модератора 
VTsaregorodtsev, Hretgir, не переходите на личности.
Последнее предупреждение
0
3204 / 2348 / 539
Регистрация: 11.09.2009
Сообщений: 8,571
13.06.2022, 10:59 18

Не по теме:

Понятно...
Собственно вопрос, заявленный в названии темы, тут оказывается никого, включая ТС-а, не интересует.
Отваливаю.

0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,376
Записей в блоге: 111
13.06.2022, 20:36  [ТС] 19
Цитата Сообщение от i8085 Посмотреть сообщение
Собственно вопрос, заявленный в названии темы, тут оказывается никого, включая ТС-а, не интересует.
я изложил задачу, которую будет выполнять ПЛИС - следовать картам трассировок и суммировать длинну линий. 180 карт. результат ПЛИС будет скидывать обратно в ПК - 180 результатов.
Это имеет смысл выполнять на ПЛИС?
У ПК это отнимет время, а на ПК будет ещё нейросеть.
0
ValeryS
13.06.2022, 21:02     Подскажите по ПЛИС
  #20
 Комментарий модератора 
Hretgir, еще одно выступление, то просто прикрою тему
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2022, 21:02

Характеристики ПЛИС
Может кто пояснить на что влияют характеристики ПЛИС ( с практической точки зрения)? Что такое...

Цены на ПЛИС
Всем привет ! Пишу дипломную бакалаврскую работу, и для экономической части нужны некоторые цифры....

Реализация на ПЛИС
Здравствуйте Может кто знает как блоками реализуется структурная схема на плис на камеру приходит...

Калькулятор на ПЛИС
Всем доброго времени суток!) Я занимаюсь разработкой калькулятора на ПЛИС на плате Dilab 2....

интерфейсы с ПЛИС
интересует вопрос можно ли где то нормально почитать и вообще найти примеры реализации интерфейсов...

посмотрите плис!
привет всем! во общем так я подключился дома к беспроводной сети tp-link (пароль не требовал )...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru