-
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
- 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
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-06-06 Nowy sprytny tel. z Androidem 13. - OSTRZEŻENIE!!!
- 2024-06-08 czarny punkt - Małdyty
- 2024-06-08 Protesters attempt to storm Tesla's factory in Germany
- 2024-06-07 przydałaby się grupa o wszystkim
- 2024-06-07 Rowerzyści! Co się z wami dzieje?!
- 2024-06-07 Peltier
- 2024-06-07 Jakie znacie działające serwery grup dyskusyjnych?
- 2024-06-07 nerwica lękowa
- 2024-06-07 Jakie znacie działające serwery grup dyskusyjnych?
- 2024-06-07 Jakie znacie działające serwery grup dyskusyjnych?
- 2024-06-08 Warszawa => Spedytor międzynarodowy <=
- 2024-06-08 Warszawa => QA Manager <=
- 2024-06-08 Warszawa => Projektant/Programista React Native <=
- 2024-06-08 Zabrze => Junior HelpDesk <=
- 2024-06-08 Warszawa => Business Development Manager <=