-
31. Data: 2016-02-27 13:37:35
Temat: Re: FPGA z punktu widzenia programisty
Od: "Pszemol" <P...@P...com>
"platformowe głupki" <N...@g...pl> wrote in message
news:na4ns5$7c9$2@node2.news.atman.pl...
> ogólnie spiętrzenie idiotyzmów w dzisiejszej rzeczywistości jest wręcz
> masakryczne... dobrze, że nie zacząłem interesować się C#...
Mam obawy, że podszedłeś do nauki vhdl jak do nauki języka C/C++.
A przecież vhdl to opis sprzętu a nie instrukcje sekwencyjne dla procesora.
Dwa zupełnie inne światy: rezultatem kompilacji (syntezy) vhdl są
połączenia między przerzutnikami i bramkami w FPGA, rezultatem
kompilacji kodu w C/C++ są ciągi instrukcji dla procesora, inna inszość.
-
32. Data: 2016-02-27 13:41:00
Temat: Re: FPGA z punktu widzenia programisty
Od: "Pszemol" <P...@P...com>
"platformowe głupki" <N...@g...pl> wrote in message
news:na2bu4$rs1$1@node2.news.atman.pl...
> vhdl to moim zdaniem język stworzony przez ludzi chorych umysłowo...
> próbowałem się z nim oswoić, ale nie dałem rady...
A jak to robiłeś? I czego oczekiwałeś?
Są narzędzia, które pozwolą Ci "przetłumaczyć" obrazkowe
rysunki bramek i przerzutników na rozpiskę VHDL, może to
pomoże aby wypracować Twoją intuicję co do tych języków?
Ważne jest aby sobie uzmysłowić, że Verilog czy VHDL
NIE SĄ językami programowania procesorów!!! :-)
Wiem że to oczywiste dla wielu, ale miałem do czynienia
z osobą która pomieszała bloki/komponenty i połączenia
między modułami w VHDL z procedurami i funkcjami
wołanymi z innych funkcji języka C++.
-
33. Data: 2016-02-27 13:56:56
Temat: Re: FPGA z punktu widzenia programisty
Od: "Pszemol" <P...@P...com>
"Maciej Sobczak" <s...@g...com> wrote in message
news:40365df0-3d24-4b83-a0fd-a6540604b6b9@googlegrou
ps.com...
>> z uwagi na zdumiewające tempo rozwoju
>> narzedzi do testowania w verilogu w ostatnich latach.
>
> Rozumiem, ale nie przeszkadza mi to. Interesuje mnie minimalizacja ilości
> użytych narzędzi, więc to, że wokół Veriloga ich przybywa, nie jest dla
> mnie argumentem przeciwko VHDL. :-)
>
> Wyobrażam to sobie tak, że podobnie jak w przypadku uC, proces wymaga
> nominalnie dwóch narzędzi: a) translatora, który przerobi źródło w VHDLu
> na coś, co można b) wgrać do układu. Tak to działa w przypadku popularnych
> uC.
Proces wymaga mnóstwo dobrych narzędzi do analizy, symulacji, testowania.
Nie podchodz do FPGA jak do procesora wykonującego rozkazy z pamięci.
W FPGA budujesz nowy układ elektroniczny, ze wszystkimi tego konsekwencjami.
> Szkoda. Więc upraszczamy pytanie: czy jeśli zminimalizujemy zestaw
> narzędzi do tych dwóch wymienionych powyżej (czyli translator + upload),
> to zmieścimy się w open-source, czy nie da rady? To jest dość poważny
> argument przy porównaniach z uC. I nie chodzi o samą cenę nabycia tych
> narzędzi, tylko o metodę ich rozwoju i filozofię użycia.
Jeśli w ogóle dokonujesz wyboru pomiędzy FPGA a uC na podstawie
dostępności narzędzi open source to moim zdaniem zabierasz się
do sprawy od dupy strony... Najpierw poznaj FPGA, dowiedz się co to,
jak się to je i czym się to je, zrób jakiś prosty przykład, zasymuluj,
przetestuj, zoptymalizuj na maksymalne MHz lub na minimalną ilość
LE a potem się zabieraj za filozofowanie w Twojej konkretnej aplikacji
co będzie dla Ciebie lepsze.
-
34. Data: 2016-02-27 15:59:20
Temat: Re: FPGA z punktu widzenia programisty
Od: "M.M." <m...@g...com>
On Saturday, February 27, 2016 at 1:57:07 PM UTC+1, Pszemol wrote:
> Jeśli w ogóle dokonujesz wyboru pomiędzy FPGA a uC na podstawie
> dostępności narzędzi open source to moim zdaniem zabierasz się
> do sprawy od dupy strony... Najpierw poznaj FPGA, dowiedz się co to,
> jak się to je i czym się to je, zrób jakiś prosty przykład, zasymuluj,
> przetestuj, zoptymalizuj na maksymalne MHz lub na minimalną ilość
> LE a potem się zabieraj za filozofowanie w Twojej konkretnej aplikacji
> co będzie dla Ciebie lepsze.
Czu FPGA nadają się do sieci neuronowych? W necie można znaleźć
informacje że uzyskuje się na FPGA przyspieszenie od 4 do 100
razy, a to spora różnica, bo dla 4 razy to na pewno nie warto
się bić. Sieci neuronowe to głównie mnożenie macierzy, często
są to małe macierze i rzadkie, rozmiar np. 10^4 floatów w tym
99.5% zer.
Czy np. taki algorytm da się na FPGA zoptymalizować?
float x = 0;
for( i=0 ; i<50 ; i++ )
x += v1[ non_zero[i] ] * v2[ non_zero[i] ];
return x;
Pozdrawiam
-
35. Data: 2016-02-27 18:33:24
Temat: Re: FPGA z punktu widzenia programisty
Od: Sebastian Biały <h...@p...onet.pl>
On 2016-02-27 15:59, M.M. wrote:
> Czy np. taki algorytm da się na FPGA zoptymalizować?
> float x = 0;
> for( i=0 ; i<50 ; i++ )
> x += v1[ non_zero[i] ] * v2[ non_zero[i] ];
> return x;
a) kilkaset wielobitowych multiplekserów
b) 50 jednostek mnożących
c) 1 *dupny* sumator równoległy
Więc da się, ale ta odpowieź jest i tak bezużyteczna bo nie wiadomo co
dalej z x i czy na pewno znajdziesz fpga o takich parametrach. Dlatego
bywa że FPGA robi jednak obliczenioa w sposob mieszany:
równoległo-szegerowy.
-
36. Data: 2016-02-27 21:04:08
Temat: Re: FPGA z punktu widzenia programisty
Od: "M.M." <m...@g...com>
On Saturday, February 27, 2016 at 6:34:40 PM UTC+1, Sebastian Biały wrote:
> On 2016-02-27 15:59, M.M. wrote:
> > Czy np. taki algorytm da się na FPGA zoptymalizować?
> > float x = 0;
> > for( i=0 ; i<50 ; i++ )
> > x += v1[ non_zero[i] ] * v2[ non_zero[i] ];
> > return x;
>
> a) kilkaset wielobitowych multiplekserów
> b) 50 jednostek mnożących
> c) 1 *dupny* sumator równoległy
>
> Więc da się, ale ta odpowieź jest i tak bezużyteczna bo nie wiadomo co
> dalej z x i czy na pewno znajdziesz fpga o takich parametrach. Dlatego
> bywa że FPGA robi jednak obliczenioa w sposob mieszany:
> równoległo-szegerowy.
Ok, dzięki za odpowiedź. Mogłem się domyślać, że przyspieszenie zależy od
wielu czynników i bez testów na konkretnym sprzęcie i konkretnej
implementacji, niewiele da się powiedzieć. A może zapytam jeszcze inaczej: w
jakich zadaniach uzyskuje się największe przyspieszenie i jakie to są
różnice względem wielordzeniowego CPU albo GPU? Uzyskuje się czasami
przyspieszenia rzędu 1tys - 10tys razy?
Pozdrawiam
-
37. Data: 2016-02-27 21:29:43
Temat: Re: FPGA z punktu widzenia programisty
Od: Sebastian Biały <h...@p...onet.pl>
On 2016-02-27 21:04, M.M. wrote:
> Ok, dzięki za odpowiedź. Mogłem się domyślać, że przyspieszenie zależy od
> wielu czynników i bez testów na konkretnym sprzęcie i konkretnej
> implementacji, niewiele da się powiedzieć. A może zapytam jeszcze inaczej: w
> jakich zadaniach uzyskuje się największe przyspieszenie
W zadaniach wykazujących silną równoległość w milionach prostych zagadnień.
> i jakie to są
> różnice względem wielordzeniowego CPU albo GPU?
Nie da się na to odpowiedzieć. Pewne zadania są aobsolutnie niemozliwe
do realizacji na CPU/GPU ze względu na przykład na czas odpowiedzi - nie
tyle szybko co pewnie. Jeśli sterujesz silnikiem obrabiarki to nie
niestistotne jak szybkiego peceta wsadzisz - zawsze system operacyjny
uzna że warto wyłączyć wszystkie taski i zająć się katalogowaniem
pornoli zamiast odczytem stanu krańcówki. FPGA stosujesz tam gdzie masz
od groma prostych operacji. Najprostszym przykładem jest analiza obrazu
per pixel. Miliony pixeli - miliony równoległych wątków o prostych
zadaniach.
> Uzyskuje się czasami
> przyspieszenia rzędu 1tys - 10tys razy?
Wstaw dowolną liczbę i pewno się takie porównanie trafi.
Zamiast dopytywać - weź sobie jakąś płytke ewaluacyjną z xilinxem albo
alterą (DE1 np). Znajdziesz duzo przykładow. Poczujesz. Dyskutowanie o
tym czy kangur jest lepszy od autobusu jest nie na miejscu.
-
38. Data: 2016-02-27 22:24:59
Temat: Re: FPGA z punktu widzenia programisty
Od: RW <b...@g...pl>
On Mon, 22 Feb 2016 14:30:02 -0800, M.M. wrote:
> On Monday, February 22, 2016 at 8:54:45 PM UTC+1, Roman W wrote:
>> On Mon, 22 Feb 2016 02:30:57 -0800 (PST), "M.M." <m...@g...com>
>> wrote:
>> > Albo Osoba = potencjalny klient chcący zakupić trochę sprzętu komput=
>> > erowego.
>>
>> Producent sprzetu nie zrobi wiarygodnego benchmarku do HFT.
>>
>> RW
>
> Jeden producent na pewno nie. Jakby robiło kilku, to byśmy przynajmniej
> wiedzieli, że każdy swoje starał się zrobić jak najlepiej. Nie
> ciągnijmy,
> nie ma, to nie ma.
Ten koles gada "do rzeczy": http://stackoverflow.com/a/22082528/59557
RW
-
39. Data: 2016-02-27 23:10:29
Temat: Re: FPGA z punktu widzenia programisty
Od: "Pszemol" <P...@P...com>
"Sebastian Biały" <h...@p...onet.pl> wrote in message
news:nat121$6au$1@node2.news.atman.pl...
> Zamiast dopytywać - weź sobie jakąś płytke ewaluacyjną z xilinxem albo
> alterą (DE1 np). Znajdziesz duzo przykładow. Poczujesz. Dyskutowanie o tym
> czy kangur jest lepszy od autobusu jest nie na miejscu.
Też mam takie wrażenie że koledzy domyślają się, że FPGA
"to taki CPU tylko szybszy" i pytają ile razy szybszy...
Tymczasem FPGA to zupełnie inny zwierzaczek i cieżko porównać.
-
40. Data: 2016-02-27 23:42:33
Temat: Re: FPGA z punktu widzenia programisty
Od: RW <b...@g...pl>
On Sat, 27 Feb 2016 16:10:29 -0600, Pszemol wrote:
> "Sebastian Biały" <h...@p...onet.pl> wrote in message
> news:nat121$6au$1@node2.news.atman.pl...
>> Zamiast dopytywać - weź sobie jakąś płytke ewaluacyjną z xilinxem albo
>> alterą (DE1 np). Znajdziesz duzo przykładow. Poczujesz. Dyskutowanie o
>> tym czy kangur jest lepszy od autobusu jest nie na miejscu.
>
> Też mam takie wrażenie że koledzy domyślają się, że FPGA "to taki CPU
> tylko szybszy" i pytają ile razy szybszy... Tymczasem FPGA to zupełnie
> inny zwierzaczek i cieżko porównać.
FPGA nie ma problemow ktore sa zmora oprogramowania low-latency na PC, np.
to ze kiedy komputer PC siedzi i czeka na sygnaly z zewnatrz, to kod ktory
mialby na nie reagowac moze zostac wypchniety z cache CPU do pamieci.
RW