comp.lang.ada
 help / color / mirror / Atom feed
From: gisle@struts.ii.uib.no (Gisle S�lensminde)
Subject: Re: ratioanl number type
Date: 1999/12/17
Date: 1999-12-17T00:00:00+00:00	[thread overview]
Message-ID: <slrn85kqa4.qrv.gisle@struts.ii.uib.no> (raw)
In-Reply-To: s57e138d53112@corp.supernews.com

In article <s57e138d53112@corp.supernews.com>, Vladimir Olensky wrote:
>
>Robert Dewar wrote in message <82upl4$dra$1@nnrp1.deja.com>...
>>In article <s5513sek53119@corp.supernews.com>,
>>  "Vladimir Olensky" <vladimir_olensky@yahoo.com> 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.


I have in fact tried the MMX instructions, and found it 
remarkable difficult to use them.

- They do not introduce full 64-bit aritmetrics.

- The parallelism is difficult to use. You can't add in the
  upper half and multiply in the lower half of the register, 
  it's also difficult to order you data to use the parellelism 
  in the instruction set efficiently.

- MMX adds more registers, and that's nice, but there are 
  latencies when moving data from 32-bit registrers to MMX
  registers, which in many cases removes the benefits from
  the MMX registers.

- The MMX instruction set has no FP instructions, and blocks
  the FP stack if you use them. You must use the emms instruction 
  first. The MMX instructions is not very general, which makes
  it necesary to use 32-bit instructions anyway in most cases. 
  Since 32-bit to MMX registers include latencies, this often 
  eat up the speed benefits of MMX.

- There use will often intoduce the need for a '32-bit version'
  of the code, since many computers not have MMX instructions 
  available.

In some cases the MMX instructions can make your code more
eficient, but it's in practice hard to write faster programs
using MMX instructions. 

--
Gisle S�lensminde ( gisle@ii.uib.no )   

ln -s /dev/null ~/.netscape/cookies




  parent reply	other threads:[~1999-12-17  0:00 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-12-03  0:00 ratioanl number type Clifford J. Nelson
1999-12-03  0:00 ` Tucker Taft
1999-12-03  0:00 ` Gautier
1999-12-03  0:00 ` Dmitriy Anisimkov
1999-12-11  0:00   ` Clifford J. Nelson
     [not found]     ` <01bf43ea$646d5bc0$022a6282@dieppe>
1999-12-11  0:00       ` Clifford J. Nelson
     [not found]         ` <01bf43f3$3aadb600$022a6282@dieppe>
1999-12-11  0:00           ` Vladimir Olensky
1999-12-12  0:00             ` Robert Dewar
1999-12-12  0:00               ` Vladimir Olensky
1999-12-12  0:00                 ` MMX (was Re: ratioanl number type) Vladimir Olensky
1999-12-14  0:00                 ` ratioanl number type Robert Dewar
1999-12-17  0:00                 ` Gisle S�lensminde [this message]
1999-12-19  0:00                   ` Robert Dewar
1999-12-12  0:00         ` Robert Dewar
1999-12-11  0:00     ` Robert Dewar
1999-12-09  0:00 ` rational " Wes Groleau
  -- strict thread matches above, loose matches on Subject: below --
1999-12-15  0:00 ratioanl " Alexander E. Kopilovitch
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox