-
Data: 2012-04-08 22:42:27
Temat: Re: 4ry wierzchołki (głupi problem)
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 08.04.2012 20:31, Edek Pienkowski wrote:
> Dnia Sun, 08 Apr 2012 18:56:26 +0200, Michoo napisal:
>
>> On 08.04.2012 15:04, slawek wrote:
>>>
>>>
>>> Dziecko drogie, a jaka jest różnica pomiędzy jawnie napisanym if(a> b)
>>> - a operacją porównywania a> b ?
>> A ty nie wiesz?
>
> Oj, dzieci, dzieci ;)
Oj, lubię "dyskutować" ze slawkiem.
>
>>
>>>
>>> Na poziomie kodu maszynowego - żadna. Musi być jakieś cmp, musi być
>>> potem skutek tego cmp. Nie ma się co szamotać, że "uda się bez if" - bo
>>> te if będzie dalej, tyle że zagrzebane w nieczytelnym kodzie.
>> W tym przypadku akurat to nie ma sensu, ale stosuje się konstrukcje,
>> gdzie używa się wynik porównania w obliczeniach zamiast if po to aby:
>> - nie psuć pipeline
>
> Yhy.
>
>> - nie wykonywać niepotrzebnych skoków
>> - nie powiększać kodu
>
> Zacznij od przeczytania, co to jest SSA. Obie formy tego, co programista
> napisze kompilują się prędzej czy później do właśnie SSA, zanim
> staną się kodem maszynowym.
Pisałem, że w tym przypadku to nie ma sensu. Natomiast "w przypadku
ogólnym" zdarzało mi się spotkać takie optymalizacje.
> Kompilator generując kod dba o to, co
> napisałeś, ale jeżeli rzeczy typu rozmieszczenie danych w pamięci
> nie przeszkadzają, forma zapisu programisty ma niewiele wspólnego
> z tym, do czego to się parsuje, nie mówiąc o kodzie maszynowym.
Zgadza się. Tylko jak musisz rzeźbić optymalizacje na takim poziomie, to
zazwyczaj rzeźbisz w asm (np jakieś DSP).
>
>>
>> A w przypadku shaderów było to na początku niezbędne (brak instrukcji
>> skoku).
>
> Widać na tym polu kompilatory były bardzo prymitywne,
Tak z 10 lat temu to nie było jako takich kompilatorów a raczej
assemblery. Dopiero potem się pojawiło C for graphics, i inne języki
wysokopoziomowe (HLSL, GLSL).
> albo język
> był prymitywny. Zresztą, GPU ma inną architekturę i skok może
> powodować "divergent warps", jeżeli efektem nie są predykaty.
Sprzęt nie obsługiwał czegoś takiego jak skok. Oidp najpierw potem
pojawiła się możliwość warunkowego wykonania instrukcji, możliwość
przedwczesnego powrotu z programu, a na końcu dopiero "branching".
--
Pozdrawiam
Michoo
Najnowsze wątki z tej grupy
- 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 {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-15 kraje nieprzyjazne samochodom
- 2025-03-15 parking Auchan
- 2025-03-15 Art. 19.1 ustawy o ochronie praw autorskich
- 2025-03-15 przegląd za mną
- 2025-03-15 Na co komu okna
- 2025-03-15 Mój elektryk
- 2025-03-15 Fejk muzyczny czy nie fejk
- 2025-03-15 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-15 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-03-15 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-03-15 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+ experience) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-03-15 KOMU w RP3 pasuje "Rumuńska łatwość gmerania w wyborach" i dlaczego nie PO-Trzaskanym?
- 2025-03-15 China-Kraków => Key Account Manager IT <=