-
Data: 2014-07-02 01:20:51
Temat: Re: cpu shading by sse intrinsics
Od: firr <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- 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
Najnowsze wątki
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-07-04 Białystok => Kotlin Developer <=
- 2025-07-04 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-07-04 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-07-04 Zakrzewo => Konsultant SAP HCM <=
- 2025-07-04 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-04 Szczecin => Key Account Manager IT <=
- 2025-07-04 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-04 Warszawa => Technique IT - Hardware Configuration and Support <=
- 2025-07-04 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=