-
Data: 2013-03-01 13:56:42
Temat: Re: programował ktoś na taki sprzęt?
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 01.03.2013 11:14, M.M. wrote:
>> To cierpi nawet, jeśli są rozgałęzienia programu.
> To niedobrze :(
To jest po prostu inny sprzęt i go się inaczej programuje. Na klasycznym
procesorze sporo przypadków opiera się o różne formy pętli, na GPU na
podział danych na jednorodne bloki i wykonywanie na nich takich samych
operacji.
>
>
>> Bardzo dobrze. Ale w swoich zadaniach, to nie jest uniwersalny
>> procesor do wszystkiego.
>
>
>> Z lekkim przymrożeniem oka możesz patrzeć na to jak na
>> koprocesor, tylko on nie dostaje do przemnożenia
>> dwa double, tylko dwie macierze zespolone po 200MB,
>> albo jakąś funkcję do policzenia w tysiącach punktów naraz.
> Myślę o tym głównie pod kątem czegoś podobnego do symulowanego
> wyżarzania, czyli w kółko liczenie wartości funkcji. Niestety
> ta funkcja, choć nie jest funkcją rekurencyjną, ma
> dużo ifów.
Wszystko zależy od przypadku - czasami lepiej napisać if, czasami lepiej
zamienić coś pokroju (to tylko przykład)
if(b>10)
a = 123*b*y;
else if(b<-10)
a = 321*b*x;
else
a = b*x*y;
na
a = (b>10)*123*b*y + (b<-10)*321*b*x + (!(b>10))*(!(b<-10))*b*x*y
>
> Może to jednak kwestia asemblera? Nie wiem jak jest dzisiaj.
> Ale jakieś kilkanaście lat temu, jak przepisałem niechlujnie
> procedurę w asemblerze, to działała 3 razy szybciej niż
> skompilowana kompilatorem C/C++.
Przez kilkanaście lat naprawdę sporo się zmieniło to raz. Po drugie na
dzisiejsze procesory czasami lepiej jest wygenerować "ciaśniejszy" kod,
niż "szybszy" bo zaoszczędzenie na dostępach do cache potrafi dawać
kilkukrotny boost. W języku pokroju C++ wystarczy zmienić atrybuty
dotyczące optymalizacji, w asm musisz przepisywać ;) W ogóle asm poza
bardzo rzadkimi przypadkami to strata czasu - liczy się doby algorytm a
go im wyżej poziomowy język tym szybciej zapisać, przetestować,
tuningować. Mikrooptymalizacje to robota na sam, sam koniec.
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 01.03.13 14:26 Edek Pienkowski
- 02.03.13 10:51 Roman W
- 02.03.13 16:59 M.M.
- 02.03.13 17:27 Edek Pienkowski
- 02.03.13 18:06 M.M.
- 02.03.13 18:34 Edek Pienkowski
- 02.03.13 18:51 firr kenobi
- 02.03.13 18:51 firr kenobi
- 02.03.13 19:10 M.M.
- 03.03.13 01:55 Roman W
- 03.03.13 10:50 firr kenobi
- 03.03.13 10:51 firr kenobi
- 03.03.13 10:51 firr kenobi
- 03.03.13 19:24 M.M.
- 03.03.13 19:29 M.M.
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-06 PROGRAM DOPŁAT DO AUT ELEKTRYCZNYCH TO ABSURD. ZA ŚRODKI Z KPO KUPIMY NIEMIECKIE I CHIŃSKIE AUTA
- 2025-02-05 ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-07 Smar do video
- 2025-02-06 Litowe baterie AA Li/FeS2 a alkaliczne
- 2025-02-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-07 Warszawa => System Architect (Java background) <=
- 2025-02-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-07 Warszawa => Solution Architect (Java background) <=
- 2025-02-07 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-07 Lublin => Programista Delphi <=
- 2025-02-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-07 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-07 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo