[ODE] ODE and SIMD
Vrej Melkonian
vmelkon at yahoo.com
Mon Nov 27 08:50:18 MST 2006
Thanks, I previously had asked how SSE could be used
on Windows platform but nobody knew, because gcc
inserts SSE instructions.
Also, I pretty sure the vectors need to be 4D.
--- Francisco Leon <projectileman at yahoo.com> wrote:
> ODE uses macros widely for vector operations, so it
> could take advantage of SIMD instructions implicity.
>
> Modern compilers translate macros to SIMD
> instructions
> by default, if you configure the project for
> generating MMX/Pentium 3 instructions.
>
> For example, you can configure MingW compiler for
> generate machine code for Pentium3 or Athlon
> plattforms, wich could result in fast code as the
> compiler decides where to put SIMD instructions in
> the
> program.
>
> In my own benchmarking I've discovered that a vector
> library that uses c++ templates (Like Blitz) is
> often
> faster than those which have SIMD assembler
> instructions (Like NVEC or SIMDx86 libraries).
>
> So I think that it would better to leave the
> low-level
> optimizations to the compiler. Microsoft people are
> wise enough for putting all necessary gadgets into
> their C++ compiler. Just Trust in your compiler, it
> is
> more intelligent than You!! ;)
>
> One way for optimizing ODE is reducing the use of
> linked lists, and pack structures in vectors. That
> will helps the CPU work because it reduces cache
> filling.
>
> Also we can optimize ODE by using alternative math
> functions for Sqrt and trigonometry functions.
> Making
> Sine and Cosine tables and using the GIMPACT SQRT
> function would be helpful.
>
____________________________________________________________________________________
Want to start your own business?
Learn how on Yahoo! Small Business.
http://smallbusiness.yahoo.com/r-index
More information about the ODE
mailing list