abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 19:11 | Zajímavý projekt

    Vývojáři Ubuntu představili projekt Myna, tj. iniciativu zaměřenou na přidání funkce převodu řeči na text do prostředí desktopu Ubuntu. Dle plánu již v Ubuntu 26.10.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | Zajímavý software

    Společnost Epic Games představila nový open source systém pro správu verzí Lore navržený pro "bezprecedentní škálovatelnost dat i týmů a optimalizovaný pro projekty, včetně her a zábavy, které kombinují kód s velkými binárními soubory, aby uspokojil potřeby vývojářů i umělců". Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | IT novinky

    Úřad pro ochranu hospodářské soutěže (ÚOHS) provedl v říjnu 2024 místní šetření u společnosti Seznam.cz. Úřad prověřoval důvodné podezření na možné protisoutěžní jednání, konkrétně zneužití dominantního postavení. Krajský soud v Brně v květnu 2025 konstatoval, že toto šetření bylo nezákonné. Nejvyšší správní soud (NSS) včera rozhodl, že šetření bylo provedeno v souladu se zákonem. Krajský soud bude muset případ posoudit znovu.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.

    Ladislav Hagara | Komentářů: 1
    včera 08:22 | Bezpečnostní upozornění

    V OpenBSD byla objevena 27 let stará chyba v ppp pomocí níž lze vzdáleně obejít autentifikaci. Chyba byla nahlášena 12.6. a 14.6. byla opravena. Bližší info v článku A 27-Year-Old Authentication Bypass in OpenBSD's PPP Stack.

    Max | Komentářů: 6
    včera 05:22 | Zajímavý článek

    Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být

    … více »
    Ladislav Hagara | Komentářů: 10
    16.6. 16:11 | Nová verze

    Byl vydán Mozilla Firefox 152.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 152 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    16.6. 14:11 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.7 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 23
    16.6. 11:44 | Komunita

    Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.

    Ladislav Hagara | Komentářů: 40
    16.6. 11:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1928 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Vývoj CUDA s KDevelop a optimus

    13.12.2013 16:41 | Přečteno: 1222× | Linux a další věci co má společného s IT | Výběrový blog

    Tenhle blog slouží jako malý návod pro ty, kteří se s CUDA na linuxu prali jako já. Zprovoznění CUDA na linuxu není vůbec žádná sranda s technologií optimus. První problém, na který narazíte je zprovoznění Bumblbee. Jelikož jedu na (K)Ubuntu 13.10, tak se tento návod bude soustředit hlavně pro tuto distribuci, ale zkušenější linuxák by si měl poradit i na jiných distribucích. Moje karta nefungovala správně s ovladači v oficiálním repozitáři, tak jsem musel nainstalovat novější ovladače. Jelikož jsem lenivý je kompilovat, tak jsem nainstaloval ovladač z repozitáře ppa:xorg-edgers/ppa a to ten nejnovější ve verzi 331. Po nainstalování ovladače a všeho potřebného doporučuji tento repozitář odebrat, aby se vám pořád neaktualizoval (přeci jenom je ten názeve edgers). Poté jsem nainstaloval bumblebee z jejich repozitáře ppa:bumblebee/stable. Bohužel si již přesně napamutuju co jsem instaloval, ale balíky nvidia-331, bumblebee-nvidia a primus určite. Po instalaci zkuste restart a modlete se aby vše fungovalo, pokud vám bumblbee nefunguje musíte si najít v čem může být problém (zablokovat ostatní ovladače tj. hlavně nouveau atp.). Pokud již vám jede bumblebee máte to nejhorší za sebou a gratuluju. Dalším krokem je instalace CUDA a to balíčky nvidia-cuda-dev nvidia-cuda-gdb nvidia-cuda-toolkit. Teď je nejlepší zkusit si zkompilovat nějaký program pro CUDA. Může zkusit např. tento, je pro zařízení s podporou CUDA 2.0 a větší kvůli printf v kernelu:
    #include <stdio.h>
    
    __global__ void helloCUDA(float f)
    {
      printf("Hello thread %d, f=%f\n", threadIdx.x, f);
    }
    
    int main()
    {
      helloCUDA<<<1, 5>>>(1.2345f);
      cudaDeviceSynchronize();
      return 0;
    }
    
    Kompilaci provede pomocí (kde test.cu je název souboru s kódem a test název zkompilovaného programu):
    nvcc -arch=sm_20 test.cu -o test
    Aby program s CUDA fungoval (pokud máte optimus) je ho potřeba pustit pomocí optirun. Výsledný program spustíte tedy pomocí optirun takto (můžete použít optirun s argumente --no-xorg):
    optirun --no-xorg ./test
    Pokud se vám vypíše
    Hello thread 0, f=1.234500
    Hello thread 1, f=1.234500
    Hello thread 2, f=1.234500
    Hello thread 3, f=1.234500
    Hello thread 4, f=1.234500
    
    ,tak vám CUDA funguje přesně jak má a může vesele vyvíjet aplikace využívající GPU.

    KDevelop

    Pokud stejně jako já rádi použiváte KDevelop, tak nastavení aby se KDevelop choval k souborům s příponou .cu a .cuh jako souborům C resp C++ provode v systémovém nastavení KDE v kategorii Asociace souborů kde u x-c++src pridáte další příponu *.cu a u x-c++hdr přidáte příponu *.cuh. Nyní by vám již mělo fungovat doplňování a refaktoring v KDevelop se soubory s těmito příponami.


    Ještě zbývá upravit v projektu CMakeLists.txt, tak aby vypadal nějak takto:
    cmake_minimum_required(VERSION 2.8)
    
    project(nazevprojektu)
    
    # kvuli kompabilite s nvcc je potreba pouzit gcc verze 4.6 u CUDA toolkit 5.5 tohle muzete odebrat
    set(CMAKE_CXX_COMPILER g++-4.6)
    set(CMAKE_CC_COMPILER gcc-4.6)
    set(CMAKE_C_COMPILER gcc-4.6) 
    
    find_package(CUDA REQUIRED)
    include(FindCUDA)
    
    
    # nvcc flags                                                                                                                                                                                               
    set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode arch=compute_30,code=sm_30)
    set(CUDA_VERBOSE_BUILD ON CACHE BOOL "nvcc verbose" FORCE)
    
    
    cuda_add_executable(nazevprojektu main.cu dalsifile.cu file.cpp)
    

    Při vývoji narazíte na problém, že se vám aplikace spuštěné pomocí optirun déle spouští. Je to způsobením, že se pokaždé musí nastartovat další X server. To lze vyřešit tím, že si pustíte nějaký program pomocí optirun a necháte ho běžet. Poté se vám již aplikace budou spouštět normálně.

    Debugování

    Nyní přichází na řadu debugování to lze provádět pomocí cuda-gdb. Aby vám cuda-gdb fungovalo je potřeba ukončit všechny programy, které grafickou kartu s CUDA využívají. Opět musíte spouštět cuda-gdb pomocí optirun nyní již musíte použít argument --no-xorg jinak vám nebude fungovat. Například takto:

    optirun --no-xorg cuda-gdb --args programscuda -jehoargumenty
    cuda-gdb je postaveno na gdb, takže musíte umět aspoň nějaké základy používání gdb.

    Pokud jste došli až sem a vše vám funguje gratuluji.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    19.12.2013 09:06 natiku | skóre: 26 | blog: natiku
    Rozbalit Rozbalit vše Re: Vývoj CUDA s KDevelop a optimus
    Pěkné!

    Moc dík, notebook s OPTIMUS mám už na cestě.
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.