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 14:22 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 2026.3 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 6 nových nástrojů v oficiálním oznámení na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 08:35 | Komunita
    Pořadatelé dalšího ročníku komunitního setkání správců nejen českých a slovenských sítí CSNOG 2027 upozorňují, Call for Abstracts pro blížící se akci (20. a 21. ledna 2027, Zlín) končí už 31. října, tedy na konci tohoto týdne.. … více »
    VSladek | Komentářů: 1
    24.10. 23:22 | Bezpečnostní upozornění

    Výzkumníci ukazují, jak mohou otevřené tunely a IPv6 Extension Headers synchronizovat pakety do krátkých provozních špiček. V kontrolovaném experimentu naměřili přes 180násobnou koncentraci paketového toku vůči průměrné rychlosti odesílání — nikoli 180násobné zvětšení objemu dat. Článek obsahuje metodiku, limity měření i mitigace pro GRE, IPIP a další tunely.

    vencour | Komentářů: 2
    24.10. 12:44 | Pozvánky

    Po velkém úspěchu prvního MobileLinux Hackdaye se vracíme do Českých Budějovic s druhým ročníkem. V pátek 30. října 2026 od 10:00 se v prostorách Jihočeské univerzity uskuteční Embedded & MobileLinux Hackday #2. Těšit se můžete na témata jako Immutable Linux na telefonech (BengalOS), U-Boot a upstream vývoj, AI optimalizace pro embedded systémy nebo otevřený hardware. Nebude chybět praktické hackování, sdílení zkušeností a možnost … více »

    lkocman | Komentářů: 2
    24.10. 00:44 | Bezpečnostní upozornění

    Dne 21. října 2026 vydal projekt Node.js bezpečnostní aktualizace opravující deset zranitelností, včetně jedné umožňující potenciální vzdálené spuštění kódu (RCE). Nejzajímavější je CVE-2026-111497, chyba dekodéru Brotli, kterou objevili výzkumníci využívající OpenAI Codex Security. Chyba je v nativním dekodéru Brotli, nikoli v samotném JavaScriptu. Speciálně vytvořený komprimovaný vstup způsobí, že dekodér zamění

    … více »
    vencour | Komentářů: 15
    23.10. 17:44 | IT novinky

    Francouzský výrobce kabelů Nexans upozornil na napjaté dodávky elektrických kabelů. Výstavba nové výrobní linky pro některé typy kabelů může trvat přibližně tři roky. Datacentra potřebují rozsáhlé nízkonapěťové a středněnapěťové rozvody. Poptávka roste současně s modernizací elektrických sítí. Někteří odběratelé proto uzavírají výrazně delší dodavatelské smlouvy [Reuters].

    vencour | Komentářů: 17
    23.10. 14:44 | Zajímavý projekt

    Představena byla (𝕏) virtuální platforma FLYBENCH FPV, která nováčky provede zapojením a konstrukcí dronů.

    Ladislav Hagara | Komentářů: 11
    23.10. 04:11 | Nová verze

    Google Chrome 156 byl prohlášen za stabilní. Přehled novinek v poznámkách k vydání. Opraveno bylo 353 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    22.10. 20:22 | IT novinky

    Indická společnost eMudhra po bezpečnostním incidentu, tj. kompromitaci soukromých klíčů osmi mezilehlých certifikátů své certifikační autority, opouští globální byznys s SSL/TLS certifikáty.

    Ladislav Hagara | Komentářů: 4
    22.10. 15:44 | Bezpečnostní upozornění

    Dle Phoronixu zveřejnila společnost Trend Micro prostřednictvím programu Zero Day Initiative (ZDI) několik hlášení bezpečnostních zranitelností přímo na veřejném mailing listu LKML, přestože některé chyby dosud nemají opravu začleněnou do hlavní větve jádra. Mezi hlášenými problémy jsou dvě zranitelnosti s hodnocením CVSS 9.0, týkající se SMB Direct a KSMBD, které mohou umožnit vzdálené spuštění kódu. Další hlášení se týkají … více »

    vencour | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2915 hlasů
     Komentářů: 34, poslední dnes 08:24
    Rozcestník

    Dotaz: vektory a matice se SIMD (sse2)

    20.12.2006 14:08 vencas | skóre: 32
    vektory a matice se SIMD (sse2)
    Přečteno: 571×
    Zdravím, může mi někdo vyjasnit, které knihovny implementující (malé) matice a vektory používají sse2?
    1. atlas-sse2 je používá, rád bych případně něco s trochu objektovým rozhraním.
    2. Blitz++ si dělá jen svoje optimalizace na úrovni c++ (bez SIMD)?
    3. boost::ublas knihovnu blas (zde v implementaci atlas-sse2) nepoužívá (zběžně pročtené headery)...?
    Konečně, když napíšu něco jako (resp. když je něco takového v nějaké knihovně):
    double a[3], b[3], c[3];
    [...]
    c[0]=a[0]*b[0]; c[1]=a[1]*b[1]; c[2]=a[2]*b[2];
    
    dokáže to gcc optimalizovat a použít na to vektorový součin (MULPD) místo jednotlivých násobení?

    Díky.

    Odpovědi

    20.12.2006 14:30 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: vektory a matice se SIMD (sse2)
    Jen střílím, ale při použití parametrů -mfpmath=sse -msse -msse2 by to mohlo dělat gcc samo, ne?
    20.12.2006 14:54 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: vektory a matice se SIMD (sse2)
    Mezitím jsem si to vyzkoušel a bohužel nedělá (mimochodem, HTML validita příspěvků, to je fakt PITA - < a > jsem nahradil |).

    Kompilace: řekl bych, že -march=pentium4 implikuje -msse{,2,3}, ale v man to není. Na výsledek to každopádně nemá vliv; -ggdb3 taky nemá vliv, akorát je vidět zdroják v dumpu. Pořád tam je 3x mulsd.
    $ gcc -ggdb3 -O3 -march=pentium4 -mfpmath=sse,387 -msse -msse2 -msse3 sse1.c -o sse1
    $ objdump -d -S sse1
    [...]
    08048354 |main|:
    #include|stdio.h|
    int main(void){
     8048354:       8d 4c 24 04             lea    0x4(%esp),%ecx
     8048358:       83 e4 f0                and    $0xfffffff0,%esp
     804835b:       ff 71 fc                pushl  0xfffffffc(%ecx)
     804835e:       55                      push   %ebp
     804835f:       89 e5                   mov    %esp,%ebp
     8048361:       51                      push   %ecx
     8048362:       83 ec 54                sub    $0x54,%esp
            volatile double a[3], b[3];
            double c[3];
            a[0]=.5; a[1]=.5; a[2]=.5;
     8048365:       f2 0f 10 05 c0 84 04    movsd  0x80484c0,%xmm0
     804836c:       08 
     804836d:       f2 0f 11 45 e0          movsd  %xmm0,0xffffffe0(%ebp)
     8048372:       f2 0f 11 45 e8          movsd  %xmm0,0xffffffe8(%ebp)
     8048377:       f2 0f 11 45 f0          movsd  %xmm0,0xfffffff0(%ebp)
            b[0]=.5; b[1]=.5; b[2]=.5;
     804837c:       f2 0f 11 45 c8          movsd  %xmm0,0xffffffc8(%ebp)
     8048381:       f2 0f 11 45 d0          movsd  %xmm0,0xffffffd0(%ebp)
     8048386:       f2 0f 11 45 d8          movsd  %xmm0,0xffffffd8(%ebp)
            c[0]=a[0]*b[0]; c[1]=a[1]*b[1]; c[2]=a[2]*b[2];
     804838b:       f2 0f 10 5d e0          movsd  0xffffffe0(%ebp),%xmm3
     8048390:       f2 0f 10 6d c8          movsd  0xffffffc8(%ebp),%xmm5
     8048395:       f2 0f 10 55 e8          movsd  0xffffffe8(%ebp),%xmm2
     804839a:       f2 0f 10 65 d0          movsd  0xffffffd0(%ebp),%xmm4
     804839f:       f2 0f 10 45 f0          movsd  0xfffffff0(%ebp),%xmm0
     80483a4:       f2 0f 10 4d d8          movsd  0xffffffd8(%ebp),%xmm1
            printf("c=%g,%g,%g\n",c[0],c[1],c[2]);
     80483a9:       f2 0f 59 c1             mulsd  %xmm1,%xmm0
     80483ad:       f2 0f 11 44 24 14       movsd  %xmm0,0x14(%esp)
     80483b3:       f2 0f 59 d4             mulsd  %xmm4,%xmm2
     80483b7:       f2 0f 11 54 24 0c       movsd  %xmm2,0xc(%esp)
     80483bd:       f2 0f 59 dd             mulsd  %xmm5,%xmm3
     80483c1:       f2 0f 11 5c 24 04       movsd  %xmm3,0x4(%esp)
     80483c7:       c7 04 24 b0 84 04 08    movl   $0x80484b0,(%esp)
     80483ce:       e8 bd fe ff ff          call   8048290 |printf@plt|
            return 0;
    }
    [...]
    
    21.12.2006 10:16 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: vektory a matice se SIMD (sse2)
    Co se gcc týče, našel jsem článek Automatic vectorization for the masses. Zkoušel jsem to na gcc-4.1 a výsledek je následující (options -O2 -ftree-vectorize -ftree-vectorizer-verbose=3 -march=pentium4):
    • c[0]=a[0]*b[0]; c[1]=a[1]*b[1]; c[2]=a[2]*b[2]; se nezvektorizuje (fuj, to je hnusný slovo...), ale
    • for(int i=0; i<3; i++) c[i]=a[i]*b[i]; ano.
    (Myslel jsem si, že když se rozbalují smyčky (loop unrolling), tak se z for udělá stejně něco podobné tomu prvnímu. Zřejmě ne úplně.)

    Jak autor zmíněného článku píše, podobné optimalizace mohou vést k nestabilnímu kódu.

    Založit nové vlákno • Nahoru

    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.