-
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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-19 koniki obsiadły kolejki i numerki
- 2024-12-18 Poseł oszukany "na policjanta"
- 2024-12-18 znów chory psychicznie
- 2024-12-18 Katowice => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2024-12-18 Poznań => Dyspozytor Międzynarodowy <=
- 2024-12-18 Katowice => System Architect (background deweloperski w Java) <=
- 2024-12-18 Gdańsk => System Architect (Java background) <=
- 2024-12-18 Warszawa => Helpdesk Specialist <=
- 2024-12-18 Katowice => Kierownik Działu Zarządzania Platformą Wirtualizacji i
- 2024-12-18 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-18 Żerniki => Employer Branding Specialist <=
- 2024-12-18 Gliwice => Specjalista ds. public relations <=
- 2024-12-18 Kablówka z modułem CAM
- 2024-12-18 Warszawa => Spedytor międzynarodowy <=
- 2024-12-18 Wróblewo => Analityk finansowy <=