From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,FREEMAIL_FROM, INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a30e9cc47b5029fe X-Google-Attributes: gid103376,public From: "Vladimir Olensky" Subject: Re: ratioanl number type Date: 1999/12/12 Message-ID: #1/1 X-Deja-AN: 559708316 References: <38473D8A.9BB68676@gte.net> <3847E5B3.B96339A8@iforex.net> <385252FF.BB4C7A5@gte.net> <01bf43ea$646d5bc0$022a6282@dieppe> <38527A46.B4833D6A@gte.net> <01bf43f3$3aadb600$022a6282@dieppe> <82upl4$dra$1@nnrp1.deja.com> Organization: Posted via Supernews, http://www.supernews.com X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Newsgroups: comp.lang.ada X-Complaints-To: newsabuse@supernews.com Date: 1999-12-12T00:00:00+00:00 List-Id: Robert Dewar wrote in message <82upl4$dra$1@nnrp1.deja.com>... >In article , > "Vladimir Olensky" wrote: >> Maybe only some core assembler routines that make use of >> processor SIMD extensions. That would allow drastically >> improve efficiency. > >Well we know Vladimir likes the SIMD extensions, Yes I like them. This technique was used for more than 20 years in Russian supercomputers "Elbrus". So no wonder that one of the leading scientists from "Elbrus" team (Pentkovsky) was invited to the Intel and he lead the development of SIMD extensions for Intel chips. >Vladimir, have you actually done assembly coding using >these instructions? Not too much myself but there are a lot of SIMD code around (MMX and SSE). I have copies of almost all most interesting examples of code on this topic (in different domains) from Intel. >And have you looked at their specs in >detail? Yes of course. I have all Intel's manuals at hand. All that is very interesting. Operations on vectors of data are significantly faster using MMX or SSE. With MMX you have eight 64 bit integer registers with a set of operations for them (including saturated arithmetic !!!). Each MMX register can be represented as vector of 8X8bit, or 4x16bit or 2x32bit or 1x64bit of elements (sub-registers). One can use one instruction to apply the same operation to all of them. SSE use eight 128 bits floating point registers with that same approach. MMX allows for instance to use directly 64bit integer arithmetic on IA32+ platform. Is that useless ? As far as for data processing there are so many exiting things with SIMD that they go far beyond the scope of this discussion. Going back to multi-precision arithmetic I think that it is obvious that if one is able to use directly longer registers (64bit registes instead of 32 bit) than one could obtain better efficiency. >From another point of view any rational number could be considered as vector of elements (digits) and in some circumstances vector operations could be applied to it to obtain some particular results. So I think (but not insist) that SIMD could be useful in doing multi-precision arithmetic. In data processing I doubt that anyone would object that SIMD extensions (MMX and SSE) are useless. Also I suspect that one of the Ada design goals was also data processing. If something new has emerged recently that can significantly improve Ada performance in this area why not to use it ? Regards, Vladimir Olensky