-
X-Received: by 10.140.80.179 with SMTP id c48mr85331qgd.16.1404256852217; Tue, 01 Jul
2014 16:20:52 -0700 (PDT)
X-Received: by 10.140.80.179 with SMTP id c48mr85331qgd.16.1404256852217; Tue, 01 Jul
2014 16:20:52 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin3!goblin.stu.neva.ru!news.ripco.com!news.glorb.com!hn18no1601620
igb.0!news-out.google.com!a8ni1qaq.1!nntp.google.com!w8no5071724qac.0!postnews.
google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Tue, 1 Jul 2014 16:20:51 -0700 (PDT)
In-Reply-To: <3...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=78.30.115.62;
posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
NNTP-Posting-Host: 78.30.115.62
References: <4...@g...com>
<3...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b...@g...com>
Subject: Re: cpu shading by sse intrinsics
From: firr <p...@g...com>
Injection-Date: Tue, 01 Jul 2014 23:20:52 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:206098
[ ukryj nagłówki ]co jeszcze moge powiedziec o takim programowaniu
tymi intrinsicami
podobaja mi sie takie rzeczy jak
_mm_and_ps(values, _mm_cmplt_ps(zeros, values));
czyli takie porownania jakich nie ma w normalnym asmie (a chyba szkoda, (?)) tj nie
rozgaleziajace kodu a zwracajace 'maski' ktorych pozniej mozna uzyc
wtady mozna pisac bezifowo rozne takie wyrazenia jak
a += 17 & (b>10);
co jest rownowazne
if(b>10) a+=17;
w c tez to mozna napisac (jako ze wyzej jest to wlasnie napisane) ale nie wiem czy w
starym asemblerze (tym bez cmov) dalo sie to zapisac bezifowo - warunek ustawia niby
flagi ale nie
pamietam czy byla komenda ktora populowala flage na np cale slowo jedynek itp
jeszcze inna uwaga, ogolnie jak nawyknac 9juz chyba nawyklem) to to tzw wertykalne
kodowanie w intrisincowym sse jest zupelnie proste za wyjatkiem tego ze trzeba
ukladac te dane i akurat jak ja czytam ten kod wyzej to mozna sie pogubic
na jakiej ilosci danych operuje konkretny operand
(chyab trzeba sie troche do tego przyzwyczaic tak jak do wskaznikow)
nie che mi sie tu tlumaczyc o co mi chodzi ale mw o to
__m128 s1234 = dot(normal, lightDirs);
wiadomo ze to robi dota normalnej z lightDirs
i ustawia wynik jako s1234 ale ile dokladnie tego to bierze i jak nie jest dla mnie
jakos natychmiastowo jasne
(to jest wertykalny kod wiec wiadomo ze dziala na paczkach po 4 ale tutaj jest chyba
podwojnie wertykalny - wlasnie nawet nie wiem czy takich zapisow nie nalezy unikac,
chozi tez o pewna kwestie dotyczaca rozkladu danych
wiadomo ze dane musza byc by to tak nazwac zgrupowane w poprzek np
{x[100], y[100], z[100]}
zamiast
{x,y,z}[100]
(ta skladnia nie jest glupia nie wiem czy nie przydalaby sie nawet tak by okreslac
rozmaite layouty a pozniej uzywac x[i] do abstrakcyjnego latania po tych layoutach)
ale pytanie jest czy grupowac w male paczki po cztaery w poprzek tj
{x[4], y[4], z[4]}[25]
czy zupelnie w poprzek {x[100], y[100], z[100]}
zupelnie w poprzek wydaje sie senswniejsze ale
ten paczkowy layout ma pewne 'zalety' czy tez po prostu wlasnosci, mianowicie takie
ze zeby np
napisac takiego podwojnie wertylkalnego dota
wystarczy podac dwa wskazniki tj na jedna paczke i na drugą dot(&a, &b) a bez
rozkladu paczkowego trzeba podac ich szesc dot(&x,&y,&z, &x2,&y2,&z2) - chociaz ja
optuje chyba raczej za tym drugim zapisem jest o wiele bardziej czytelny
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
Najnowsze wątki
- 2025-05-09 Gliwice => Business Development Manager - Network and Network Security
- 2025-05-09 Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- 2025-05-09 Gdańsk => Team Lead Data Engineer (Snowflake) <=
- 2025-05-09 Gdynia => MLOps Engineer <=
- 2025-05-09 Warszawa => Starszy Konsultant SAP FICO <=
- 2025-05-09 Zapaść w automoto
- 2025-05-09 Zapaść w automoto
- 2025-05-09 Poznań => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produkc
- 2025-05-09 Białystok => NMS System Administrator <=
- 2025-05-09 Warszawa => Tableau UX Designer <=
- 2025-05-09 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-05-09 Białystok => Senior Node.js Developer (Nest.js framework) <=
- 2025-05-09 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-05-09 Szczecin => Key Account Manager IT <=
- 2025-05-09 Warszawa => Starszy Programista C <=