-
Data: 2020-03-24 21:35:25
Temat: Re: Wydajność OpenCL
Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 24/03/2020 21:19, M.M. wrote:
> dojdzie - ale pewności nie mam. Szykuję się do napisania kilku
> kolejnyhch mikro programików do dalszych testów.
Zainteresuja się książkami do OpenCL i CUDA. Są dostępne w PL i dość
jasno tłumaczą ograniczenia architektur obu technologii (w sumie są to
ograniczenia identyczne).
> Czy coś mniej lub bardziej ważnego zapomniałem?
Najzwyczajniej poszukaj literatury. Algorytmika stosowana w OpenCL/Cuda
jest inna niż w normalnym programowaniu imperatywnym na CPU. To jest od
dawna rozpracowane, nie musisz szukać np. metody sortowania, są gotowe
algorytmy które albo są optymalne dla tej organizacji albo są bliskie.
>> A potrafisz napisać algorytm który poprawnie (tzn blisko optymalnego)
>> syntezuje się na FPGA? Co prawda prawie każdy kod w języka HDL można
>> zsyntezować, ale zdecydowanie nie każdy powinno się syntezować.
> Jestem laikiem w tej dziedzinie, przeczytałem na wyrywki jedną przypadkową
> pracę znalezioną w internecie na ten temat. Ktoś opisywał, że poniższy
> algorytm (SHIFT) na FPGA/ASIC można zrobić w jednym takcie:
> for( i=256 ; i>0 ; i-- ) {
> tab[i] = tab[i-1];
> }
Taka pętla na FPGA nie istnieje. Zostaje zsyntezowana do "czegoś" co
dalece odbiega od pętli. I niekoniecznie wyrazi to co chciał uzyskać
autor. Być może zostanie rozbita na 256*x przerzutników a być może wcale
nic nie jest potrzebne bo można zastosować multipleksery wiec wychodzi
układ kombinacyjny. To czy syntezer dobrze to zrozumie i dobrze
zsyntezuje jest kłopotliwe i języki C-like niespecjalnie nadają się do
wyrażenia tego przez programistę. W FPGA sekwencyjność wyrażana jest w
inny sposób niż linia po lini kodu źródłowego, preferuje się
programowanie eventowe, podaje hinty jak coś ma działać, niektóre
konstrukcje równoleglają się same mimo że nie widać tego w kodzie itd itp.
> Na GPU i na CPU (chyba) taka optymalizacja nie jest możliwa, i to bez względu
> na ilość rdzeni. Czy kompilatory OpenCL potrafią takie algorytmy efektywnie
> skompilować na FPGA/ASIC - nie mam pojęcia.
Z róznych opisów tu i tam wynika że nie potrafią w tej chwili
optymalizować tego typu rzeczy w sposób bliski optymalnemu. Nie oznacza
to że robią złą robotę, ale programista HDL jest w stanie wyrazić
sensowniej co chce bo ma do dyspozycji niższe poziomy abstrakcji do
sprzętu. Wygląda na to że technologia jest jeszcze nie do końca sensowna
i jest wątpliwość czy pisanie na FPGA w jakimś dialekcie C z OpenCL jest
prawidłowym kierunkiem. Być może pojawi się jakiś inny język w OpenCL
który pozwoli na detaliczność opisu taką jak daje VHDL czy Verilog.
Następne wpisy z tego wątku
- 26.03.20 11:53 M.M.
- 26.03.20 12:12 Mateusz Viste
- 26.03.20 12:37 fir
- 26.03.20 12:40 fir
- 26.03.20 13:57 M.M.
- 26.03.20 14:22 fir
- 26.03.20 18:24 heby
- 26.03.20 18:57 M.M.
Najnowsze wątki z tej grupy
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-04-28 Elektryk przytarł podłogę
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Warszawa => Inżynier DevOps (projekt JP) <=
- 2024-04-27 Warszawa => Senior Account Manager (on-site) <=
- 2024-04-27 Wrocław => Dyrektor Sprzedaży (branża usług/produktów IT) <=
- 2024-04-27 Warszawa => Sales Representative for Outsourcing Services <=
- 2024-04-27 Chrzanów => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-04-27 Ja pierdolę...
- 2024-04-27 Ryby i kawitacja
- 2024-04-27 Zabrze => Junior HelpDesk <=
- 2024-04-27 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-04-27 Bażanowice => Inżynier Industrializacji - Elektronik <=
- 2024-04-27 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-04-27 Zadaszenie tarasu, a wymagany spadek