Deutsch English Français Italiano |
<v7ehjq$34j5u$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!2.eu.feeder.erje.net!feeder.erje.net!news.swapon.de!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> Newsgroups: comp.arch Subject: Re: Continuations Date: Fri, 19 Jul 2024 13:16:58 -0700 Organization: A noiseless patient Spider Lines: 62 Message-ID: <v7ehjq$34j5u$1@dont-email.me> References: <v6tbki$3g9rg$1@dont-email.me> <47689j5gbdg2runh3t7oq2thodmfkalno6@4ax.com> <v71vqu$gomv$9@dont-email.me> <116d9j5651mtjmq4bkjaheuf0pgpu6p0m8@4ax.com> <f8c6c5b5863ecfc1ad45bb415f0d2b49@www.novabbs.org> <7u7e9j5dthm94vb2vdsugngjf1cafhu2i4@4ax.com> <0f7b4deb1761f4c485d1dc3b21eb7cb3@www.novabbs.org> <v78soj$1tn73$1@dont-email.me> <v7dsf2$3139m$1@dont-email.me> <v7dtvf$313uu$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Fri, 19 Jul 2024 22:16:59 +0200 (CEST) Injection-Info: dont-email.me; posting-host="1fecf3cf662ec7358f00af880796f9b5"; logging-data="3296446"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+oTO3RP1TJ8ymst/fYUU+2Fu0Aq7W+zb4=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:HG+p2sFuZ99AM3gYolDUJjjWzmo= Content-Language: en-US In-Reply-To: <v7dtvf$313uu$1@dont-email.me> Bytes: 3886 On 7/19/2024 7:41 AM, Thomas Koenig wrote: > Terje Mathisen <terje.mathisen@tmsw.no> schrieb: >> Thomas Koenig wrote: >>> MitchAlsup1 <mitchalsup@aol.com> schrieb: >>> >>>> What I am talking about is to improve their performance until a >>>> sin() takes about the same number of cycles of FDIV, not 10× more. >>> >>> Maybe time for a little story. >>> >>> Some unspecified time ago, a colleague did CFD calculations which >>> included fluid flow (including turbulence modelling and diffusion) >>> and quite a few chemical reactions together. So, he evaluated a >>> huge number of Arrhenius equations, >>> >>> k = A * exp(-E_a/(R*T)) >>> >>> and because some of the reactions he looked at were highly >>> exothermic or endothermic, he needed tiny relaxation factors (aka >>> small steps). His calculaiton spent most of the time evaluating >>> the Arrhenius equation above many, many, many, many times. >>> >>> A single calculation took _months_, and he didn't use weak hardware. >>> >>> A fully pipelined evaluation of, let's say, four parallel exp and >>> four parallel fdiv instructions would have reduced his calculation >>> time by orders of magnitude, and allowed him to explore the design >>> space instead of just scratching the surface. >> >> Back when I first looked at Invsqrt(), I did so because an Computation >> Fluid Chemistry researcher from Sweden asked for help speeding up his >> reciprocal calculations (sqrt(1/(dx^2+dy^2+dz^2))), I found that by >> combining the 1/x and the sqrt and doing three of them pipelind together >> (all the water molecules having three atoms), his weeklong simulation >> runs ran in half the time, on both PentiumPro and Alpha hardware. > > Not bad. > > Using the square root approximation for 1/x has not yet been > metiioned, but it is of course quite possible, especially since > the benchmarks I posted, with -Ofast, do enable this option. Interesting post: https://forums.parallax.com/discussion/147522/dog-leg-hypotenuse-approximation ;^) > >> >>> >>> (By the way, if I had found a reasonable way to incorporate the >>> Arrhenius equation into your ISA, I would have done so already :-) >>> >> >> I'm guessing that you would do the exp(-E_a/(R*T)) as >> exp(-E-a)-exp(R*T), since that should give the same result and now you >> could interleave the two exp) calculations, and/or hoist the exp(-E_a) term? > > I don't think that formula is correct.