eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingWydajność OpenCLRe: Wydajność OpenCL
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
    e.net!feeder.erje.net!feeder1.feed.usenet.farm!feed.usenet.farm!eternal-septemb
    er.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-
    for-mail
    From: heby <h...@p...onet.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Wydajność OpenCL
    Date: Tue, 24 Mar 2020 21:35:25 +0100
    Organization: A noiseless patient Spider
    Lines: 48
    Message-ID: <r5dqug$sic$1@dont-email.me>
    References: <c...@g...com>
    <3...@g...com>
    <r5dhol$h0v$1@dont-email.me>
    <3...@g...com>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Injection-Date: Tue, 24 Mar 2020 20:35:29 -0000 (UTC)
    Injection-Info: reader02.eternal-september.org;
    posting-host="eb85101e7e49b729d7e659a2f9f47973";
    logging-data="29260";
    mail-complaints-to="a...@e...org";
    posting-account="U2FsdGVkX1/ShNWQCDI6drDjm5q7ZkmM"
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101
    Thunderbird/68.6.0
    Cancel-Lock: sha1:b3TwnYQN/Qt6iimCPHWm+o7oHzA=
    In-Reply-To: <3...@g...com>
    Content-Language: en-US
    Xref: news-archive.icm.edu.pl pl.comp.programming:214799
    [ ukryj 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: