-
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
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
Najnowsze wątki
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-22 Genialna toaleta Urobot, automatycznie badająca mocz i kał z Taiwanu
- 2025-07-22 Thunderbird i dysk...
- 2025-07-22 Warszawa => Programista Full Stack .Net <=
- 2025-07-22 Warszawa => Software .Net Developer <=
- 2025-07-22 Warszawa => Asystent ds. Sprzedaży i Rozwoju Klienta <=