Article View: pl.comp.programming
Article #217880Re: Ile cykli zajmuje mnożenie liczb 64-bitowych?
From: osobli...
Date: Sat, 13 May 2023 17:28
Date: Sat, 13 May 2023 17:28
36 lines
3428 bytes
3428 bytes
sobota, 13 maja 2023 o 16:10:00 UTC+2 Bogdan napisał(a): > On 11/05/2023 16:28, osobli...@gmail.com wrote: > > Znalazłem dwa źródła: > > > > http://www.phys.ufl.edu/~coldwell/MultiplePrecision/fpvsintmult.htm > > > > https://stackoverflow.com/questions/21819682/is-integer-multiplication-really-done-at-the-same-speed-as-addition-on-a-modern > > > > W jednym piszą, że to jest 20 cykli. W drugim 2-4 cykle (dla liczb 32-bitowych, dla 64-bitowych będzie dwa razy więcej?). Chcę zgrubnie oszacować liczbę cykli przypadającą na dwa różne algorytmy. Na przykład: > > > > https://prng.di.unimi.it/xoroshiro128plusplus.c > > > > Ale w drugim algorytmie mam mnożenie dwóch uint64_t. I nie wiem ile cykli mniej więcej przyjąć. > Być może to nieoczywiste, ale jaka architektura? Na amd64 mnożenie > liczb 64-bitowych (czyli o wielkości rejestru) będzie zapewne o wiele > szybsze, niż na systemach 32-bitowych, o 16-bitowych nie wspominając. > > We floating point może bym nie szedł, bo może być utrata precyzji, no > i trzeba konwertować. > > Tak czy siak, pierwszy link z wyszukiwarki zapytanej o "intel > instruction latencies", zakładając, że jednak chodzi o architekturę > x86/x64: www.agner.org/optimize/instruction_tables.pdf. > Wybieram losowo procesor Haskell: MUL: czas: 3-4 cykli, > przepustowość: 0,5-1 instrukcji na cykl. > > Najlepiej pobierz dokument i wybierz stosowny procesor. > > > -- > Pozdrawiam/Regards - Bogdan (GNU/Linux & FreeDOS) > Kurs asemblera x86 (DOS, GNU/Linux): http://bogdro.evai.pl > Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 > www.Xiph.org www.TorProject.org Soft(EN): http://bogdro.evai.pl/soft Interesuje mnie głównie architektura 64-bitowa, ale też GPU. Co do tabeli - te 3-4 cykle to jest dla liczb 32-bitowych? Mam zakładać, że dla 64-bitowych będzie to samo, czy dwa razy więcej?
Technical Details
Message-ID:
<ae1c2360-6eb1-47bc-b3e1-9b5b58b8e7f3n@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!1.us.feeder.erje.net!feeder.erje.net!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<986309a4-5abd-46de-9d99-25bf51ba6144n@googlegroups.com> <u3o5jn$248lr$1@dont-email.me>Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:622a:170e:b0:3f4:e3d3:f8ff with SMTP id h14-20020a05622a170e00b003f4e3d3f8ffmr3073884qtk.4.1683998935841; Sat, 13 May 2023 10:28:55 -0700 (PDT) X-Received: by 2002:a25:12d5:0:b0:ba1:af7b:b88d with SMTP id 204-20020a2512d5000000b00ba1af7bb88dmr17993212ybs.2.1683998935481; Sat, 13 May 2023 10:28:55 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!1.us.feeder.erje.net!feeder.erje.net!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Sat, 13 May 2023 10:28:55 -0700 (PDT) In-Reply-To: <u3o5jn$248lr$1@dont-email.me> Injection-Info: google-groups.googlegroups.com; posting-host=92.67.160.10; posting-account=5sNFBgoAAAAxlae8lv99mPyGsDs6ynwB NNTP-Posting-Host: 92.67.160.10 References: <986309a4-5abd-46de-9d99-25bf51ba6144n@googlegroups.com> <u3o5jn$248lr$1@dont-email.me> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <ae1c2360-6eb1-47bc-b3e1-9b5b58b8e7f3n@googlegroups.com> Subject: Re: Ile cykli zajmuje mnożenie liczb 64-bitowych? From: "osobli...@gmail.com" <osobliwy.nick@gmail.com> Injection-Date: Sat, 13 May 2023 17:28:55 +0000 X-Received-Bytes: 3480 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit