-
Data: 2020-02-11 21:21:41
Temat: Re: Jak najszybciej obliczyć wieloskładnikową sumę potęg?
Od: Wojciech Muła <w...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Tuesday, February 11, 2020 at 8:19:59 PM UTC+1, osobliwy nick wrote:
> Ogólnie algorytm szybkiego potęgowania jest mi znany. Chodzi mi natomiast o coś
innego. Ten algorytm trzeba wykonać dla wielu potęg, które wchodzą w skład sumy.
Jeśli wykonamy po kolei:
>
> a^1
> a^2
> a^3
> ...
> a^64
>
> To zajmie nam to t1+t2+t3+...+t64 czasu. Niezależnie, czy użyjemy algorytmu
szybkiego potęgowania. Natomiast ja chciałbym, aby program zaczął liczyć niezależnie
w tym samym momencie a^1, a^2, ..., a^64. Wówczas powinno to zająć co najwyżej tyle
ile czas potęgowania największego wykładnika. Czy coś takiego jest możliwe? Co więcej
chciałbym, aby w międzyczasie program liczył jeszcze inne, niezależne rzeczy, które
przydadzą się później. Wszystko po to, aby oszczędzić czas i nie wykonywać tych
operacji po kolei, zwłaszcza, że ich wyniki są od siebie niezależne. Dopiero po ich
uzyskaniu trzeba policzyć sumę, ale liczenie ich po kolei jest trochę stratą czasu,
zakładając, że można uruchomić kilka procesów jednocześnie. Czy ma to sens?
Ma sens i odpowiedź to operacje SIMD, a więc wektorowe. Możesz równocześnie liczyć
kilka (4/8/16/32/64) niezależnych par działań matematycznych. Ale to nie jest
trywialne.
Dlatego zachęcam w pierwszej kolejności do sięgnięcia po proste rozwiązania. Jako
ciekawostkę podam, że żeby policzyć dla jednej liczby 64 potęgi dla wykładników od 1
do 64 przyzwoity kompilator C++ (czyli GCC) wygeneruje dokładnie 63 instrukcje
mnożenia.
w.
Następne wpisy z tego wątku
- 12.02.20 00:48 osobliwy nick
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-02 Tusk idzie na rekord deportacji po 1989 [Będzie popyt na prawników]
- 2025-03-01 Obywatel telefonuje 112 lub 986
- 2025-03-01 detektyw (?) Rutkowski działał jako prasa
- 2025-03-01 "Policjant został ujęty obywatelsko..."
- 2025-03-01 zatrzymanie zbyszka maja
- 2025-03-01 Warszawa => Expert Recruiter 360 <=
- 2025-03-01 Chrzanów => NodeJS Developer <=
- 2025-03-01 Warszawa => Gen AI Engineer <=
- 2025-03-01 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-01 Kraków => Technical Team Leader (Clojure, Java) <=
- 2025-03-01 Zrobił TV OLED z TV LCD
- 2025-03-01 Gdynia => Sales Executive / KAM <=
- 2025-03-01 Błonie => Sales Specialist <=
- 2025-03-01 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-03-01 Żerniki => Dyspozytor Międzynarodowy <=