Forum » Programiranje » a mi lahko da kdo par nasvetov glede sseja
a mi lahko da kdo par nasvetov glede sseja
gendale ::
mam eno 2d matriko floatov in jo moram obdelat po vrsticah in stolpcih
po vrsticah ni problem, ker so elementi lepo en za drugim v pomnilniku in jih normalno nalagam v registre in pol nazaj zapišem v ram
kako bi pa najbolj učinkovito obdelal po stolpcih?
aja, uporabljam lahko sse, sse2, sse3 in ssse3
po vrsticah ni problem, ker so elementi lepo en za drugim v pomnilniku in jih normalno nalagam v registre in pol nazaj zapišem v ram
kako bi pa najbolj učinkovito obdelal po stolpcih?
aja, uporabljam lahko sse, sse2, sse3 in ssse3
seznam zanč moderatorjev in razlogov da so zanč
http://pastebin.com/QiWny5dV
gor je mavrik apple uporabniček (mali možgani in mali penis)
http://pastebin.com/QiWny5dV
gor je mavrik apple uporabniček (mali možgani in mali penis)
- spremenil: gendale ()
Mavrik ::
Tako je, matriko transponiraš pred procesiranjem :)
The truth is rarely pure and never simple.
gendale ::
hvala uporabnikoma overlord_tm in Mavrik, sem zrihtal
>Assembler za Intel?
c intrinsici
>Assembler za Intel?
c intrinsici
seznam zanč moderatorjev in razlogov da so zanč
http://pastebin.com/QiWny5dV
gor je mavrik apple uporabniček (mali možgani in mali penis)
http://pastebin.com/QiWny5dV
gor je mavrik apple uporabniček (mali možgani in mali penis)
Karlos ::
Kaj pa uporaba _mm_set_ps() ukaza?
Pa ko že glih govorimo o SSE, ali mogoče kdo ve kolikšna je razlika v hitrosti, če se dela z poravnanim pomnilnikom ali brez?
Pa ko že glih govorimo o SSE, ali mogoče kdo ve kolikšna je razlika v hitrosti, če se dela z poravnanim pomnilnikom ali brez?
Sai Baba: "Dam vam to, kar hočete, da boste hoteli to, kar vam želim dati."
Senitel ::
Kaj glede uporabe _mm_set_ps ukaza?
Glede poravnav pa precej odvisno... Če lepo linearno letiš čez array potem nebo kaj dosti razlike. Če skačeš sem in tja praktično random je pa lahko kar precej razlike. Najboljše je seveda razmislit in upoštevat, da se podatki berejo v 16 byte-ov velikih skupkih, kar v štartu.
Glede poravnav pa precej odvisno... Če lepo linearno letiš čez array potem nebo kaj dosti razlike. Če skačeš sem in tja praktično random je pa lahko kar precej razlike. Najboljše je seveda razmislit in upoštevat, da se podatki berejo v 16 byte-ov velikih skupkih, kar v štartu.
Karlos ::
Kaj glede uporabe _mm_set_ps ukaza?
Ja _mm_set_ps se lahko uporabi če nimaš podatkov v vrstici ampak jih moraš nalovdat po stolpcih. Čeprav sem ta teden slišal za "foro", ko moraš recimo čez sliko naresti npr gaussovo glajenje (ali pač nek filter), da ti niti ni potrebno transponirati slike posebaj, ampak ko greš prvič čez sliko jo potem transponirano zapisuješ v novo matriko in se lahko potem tudi na tej sliki "sprehajaš" po vrsticah.
Sai Baba: "Dam vam to, kar hočete, da boste hoteli to, kar vam želim dati."
Zgodovina sprememb…
- spremenil: Karlos ()
Isotropic ::
zna recimo intel compiler (ali llvm, vs...) sse optimizirano kodo (ali avx) generirati sam ali se je treba za performanse redno posluzevati teh intrinsicov?
gendale ::
kolikor vem, naj bi znali, ampak ni še idealno
seznam zanč moderatorjev in razlogov da so zanč
http://pastebin.com/QiWny5dV
gor je mavrik apple uporabniček (mali možgani in mali penis)
http://pastebin.com/QiWny5dV
gor je mavrik apple uporabniček (mali možgani in mali penis)
Senitel ::
Ja _mm_set_ps se lahko uporabi če nimaš podatkov v vrstici ampak jih moraš nalovdat po stolpcih. Čeprav sem ta teden slišal za "foro", ko moraš recimo čez sliko naresti npr gaussovo glajenje (ali pač nek filter), da ti niti ni potrebno transponirati slike posebaj, ampak ko greš prvič čez sliko jo potem transponirano zapisuješ v novo matriko in se lahko potem tudi na tej sliki "sprehajaš" po vrsticah.
Ja to je dober in simpl trik za gauss blur... Greš čez z horizontalnim filtrom in v outputu zamenjaš x in y os, potem greš pa še enkrat čez z istim filtrom in še enkrat zamenjaš x in y os. Rezultat je ravno lepo filter po horizontali in vertikali, pa še sliko dobiš nazaj prav orientirano.
Problem _mm_set_ps je, da iz floatov sestavlja __m128 in moraš floate brat posamezno. Transpozicije se drgač delajo z _mm_shuffle_ps ali _mm_unpack*_ps in _mm_move*_ps.
Isotropic ::
koliko se dandanes v praksi v industriji sploh uporabljajo sse intrinsici? po sloveniji alpa bliznjih drzavah (avstrija, italija)?
lahko kdo navede kaksno konkretno ime firme, kjer to dejansko uporabljajo (in ne samo razlicnega flaga pri compilanju)
lahko kdo navede kaksno konkretno ime firme, kjer to dejansko uporabljajo (in ne samo razlicnega flaga pri compilanju)
Zgodovina sprememb…
- spremenil: Isotropic ()
Isotropic ::
nekaj sem nasel v audio in video industriji sicer, pa hpc (abaqus, ansys, maxwell so mi tut poznani). kuk je pa v praksi optimiziranega sse, da ni samo compiler flag, je pa druga...
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | excel makro in vb, kopiranje vrednostiOddelek: Programiranje | 1364 (1123) | max00slo |
» | (Java) Iskanje manjkajoči podatkov v tabeliOddelek: Programiranje | 1064 (829) | noraguta |
» | ExcelOddelek: Programska oprema | 1468 (1117) | karafeka |
» | [C++] Delo s *.txt datotekamiOddelek: Programiranje | 2031 (1507) | Tr0n |
» | Malo čudno vprašanje glede matrik in programiranjaOddelek: Programiranje | 1291 (1096) | Thomas |