Sterownik procesora wykorzystujący libclc

Sterownik procesora wykorzystujący libclc

    przez -
    3 181
    OpenCL
    Studenci z Uniwersytetu Saarland w laboratorium Compiler Design Lab opracowali nowy sterownik OpenCL. Używa on, jako kompilatora LLVM/Clang, uruchamia się na procesorze i potrafi wykorzystać instrukcje SSE oraz AVX. W przeciwieństwie jednakże do samej implementacji specyfikacji OpenCL, jak to jest robione przy innych projektach, ten skupia się na wykorzystaniu maksymalnej wydajności, przed dostarczeniem pełnego wsparcia API OpenCL.

    Według wewnętrznych testów, ich sterownik CPU przewyższa implementacje procesora AMD Stream SDK i Intelowskie OpenCL SDK. Plan jest, aby wydać sterownik OpenCL i bibliotekę wektoryzacyjną na licencji BSD, ale przedtem skończyć prace nad stabilnością kodu i dokończeniu funkcjonalności. Mogą również użyć biblioteki libclc w celu usunięcia frontendu AMD OpenCL-to-LLVM, który jest aktualnie używane, ze względu na prostotę.

    • o_O

      > Plan jest, aby wydać sterownik OpenCL i bibliotekę

      > wektoryzacyjną na licencji BSD

      A potem będą narzekać, że nie otrzymują poprawek i w ogóle ich projekt jest nie wpierany.

      Czemu nie LGPL?

      Lubią jak ich się okrada (szanuję ich wybór)?

      • skoti

        Licencja BSD jest lepsza dla popularyzacji projektu oraz dla samych twórców, bo im też daje większe pole do manewru (w przyszłości mogą zamknąć projekt na potrzeby jakiejś swojej aplikacji nie martwiąc się czy ktoś im podesłał łatkę (czytaj część LGPL nie należała by do nich, a z BSD mają dowolność)).

        Projekty BSD mają się bardzo dobrze i są świetnie wspierane – zlib

        Zastanawia mnie jednak ta wydajność, bo o ile wyprzedzenie implementacji x86 od AMD nie powinno być wielkim problemem, to implementacja Intela kopie zadki i nie jest łatwo ją przegonić w C + OpenMP + SSE3 + optymalizacje GCC.

      • skoti

        przypadkowo mi się wysłało i nie dałem przykładów bibliotek na BSD:

        OpenSSH, Bzip2, Zlib, Boost, Ogg, Vorbis, FLAC, Matroska, Bullet, WebKit, Google V8

        To tylko kilka bibliotek które wolą być BSD (lub podobne do BSD), a LGPL nie lubią – tak naprawdę większość bibliotek woli, wybierać licencje BSD.