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.

More information about the ODE mailing list