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í
×
    dnes 11:22 | Bezpečnostní upozornění

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 2
    dnes 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Nová verze

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 5
    dnes 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    včera 19:44 | Nová verze

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 10:55 | Nová verze

    Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.

    Ladislav Hagara | Komentářů: 4
    2.6. 13:44 | Nová verze

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    2.6. 11:44 | IT novinky

    Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.

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


    Dotaz: Neblokujici prijem zpravy v OpenMPI

    11.11.2011 17:34 Marek Kaluza
    Neblokujici prijem zpravy v OpenMPI
    Přečteno: 222×
    Zdravim, ve svem programu vyuzivajim OpenMPI mam nasledujici blok kodu:
        if (myid == 0)
        {
            cout << myid << ": Zahajuju prenos" << endl;
            MPI_Send(&message, 1, MPI_INT, 1, TAG, MPI_COMM_WORLD);
            MPI_Send(&message, 1, MPI_INT, 1, TAG, MPI_COMM_WORLD);
            MPI_Send(&message, 1, MPI_INT, 2, TAG, MPI_COMM_WORLD);
        }
        else
        {
            while (1)
            {
                MPI_Irecv(&message, 1, MPI_INT, MPI_ANY_SOURCE, TAG, MPI_COMM_WORLD, &request);
                MPI_Test(&request, &flag, &stat);
                if (flag)
                {
                    cout << myid << ": Dostal jsem zpravu od prvniho procesoru" << endl;                   
                }
            }
        }
    
    Program spoustim se 3 procesy a vetsinou vypise pouze:
    0: Zahajuju prenos
    2: Dostal jsem zpravu od prvniho procesoru
    
    Tzn, zpravu dostane jen treti proces, ale druhy ne. Nekdy se dokonce vypise jen prvni radek. Tipuju ze tam nekde dochazi k deadlocku, ale nemuzu na to prijit kde.

    Pokud se divite, proc cyklicky kontroluju pritomnost dat pomoci neblokujiho receive+MPI_Test misto toho abych pouzil standardni MPI_Recv, tak je to z toho duvodu, ze obecne resim problem, aby proces kontrolovat zda mu dosla data, pokud ano, aby nejakym zpusobem odpovedel a pokud ne, tak at provadi jinou cinnost.

    Mozna jdu na toto uplne spatne, muzete me prosim nejak nasmerovat?

    Odpovědi

    12.11.2011 10:42 Marek Kaluza
    Rozbalit Rozbalit vše Re: Neblokujici prijem zpravy v OpenMPI
    Tak jsem zjistil, ze kdyz jako prvni prikaz do toho bloku while(1) dam sleep(1), tak to zacne fungovat mnohem spolehliveji (vypis probehne jak ma), ale i tak se to priblizne v jednom z peti pripadu zasekne.

    Pritom tady: https://www.cac.cornell.edu/VW/MPIP2P/waittestfree.aspx jsem o MPI_Test vycetl:

    "More practically, MPI_Test permits an event-driven style of programming, in which events are fired whenever a MPI_Test comes back true. This is particularly useful on the receiving side. A receiver can post a nonblocking receive early, then periodically check the status of the receive with MPI_Test."

    A to je presne to, o co se neuspesne snazim...

    Prikladam jeste kompletni zdrojak:

    http://pastebin.com/X3aP6r2J

    a skript, ktery pouzivam na preklad a spusteni programu:

    http://pastebin.com/yPbNtcKY

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.