Re: improving numerical applications performance
Re: improving numerical applications performance
- Subject: Re: improving numerical applications performance
- From: Shawn Erickson <email@hidden>
- Date: Mon, 17 May 2004 12:19:32 -0700
On May 17, 2004, at 10:54 AM, Amilcar Meneses Viveros wrote:
Hello. I had read some articles about Altivec, my main question is
how can I improve the performance for numerical applications? (of
course I know about complexity and things like that) but, for example,
I
had the oportunity to see the performance for a numeric program (a
triple
integral) and the times in my powerPC (400MHZ with 512 Ram) was slower
that another machines (Intel 2.66GHZ, 3GHZ and 1.5GZH with Linux).
The following table has a better information:
OS Mac OS X | Linux | Solaris | Linux
CPU POWER PC | Pentium4 | SPARC | Pentium4 Xeon
SPEED 400 MHZ | 1.5 GHZ | 2GHZ | 3.06GHZ
RAM 512MB | 256MB | 512MB RAM | 512MB
-------------------+-----------+-----------+------------
TIME 372.95min | 134.58min | 264.6min | 65.5min
You don't say which PPC processor family... "G3" or "G4" (I assume G4
since you are asking about altivec).
It is interesting to normalize, using clock rate, the numbers above...
Normalized times: 372.95 | 504.68 | 1,323 | 501.08
So for the processing you are doing (as generated by the compiler) the
PPC is the most efficient of all of the processors in terms of clock
speed, in other words it does more of this work load per clock then the
other processors.
Of course its possible that the source code could be improve for better
performance, but we ran the same code in severals plataforms.
The program was compiled with -O3 optimization in alls plataforms (in
Solaris case I used the -xO3 optimization),and the execution time was
obtained by the command "time".
I know that the speed of anothers CPU is faster than my powerPC, but
if I
have an Altivec, how can I improve the performance of a numeric
application in a simple way? (i.e. from the gcc compiler)
Not easily, it depends on what your algorithm does and how it works.
Summary of things you can do using altivec...
<
http://developer.apple.com/hardware/ve/summary.html>
I have notice tha compilers like vcc can improve the performance if
you work with float data, but not with a double data. But, many
mathematics functions of the library are (by defautl) in double, and
what
can I do whether I really need a double precision?
Perhaps I used a bad tool for measure the time, in such case, somebody
know a better way for do it?
If you haven't already, look at
<
http://developer.apple.com/hardware/ve/vector_libraries.html> and
<
http://developer.apple.com/hardware/ve/algorithms.html> for any vector
accelerated operations that you can leverage.
The top page for all of this <
http://developer.apple.com/hardware/ve/>
-Shawn
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.