[ODE] Faster ODE

Peter Amstutz tetron at interreality.org
Thu Nov 21 15:00:02 2002


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I haven't looked any of the code involved, but there is one possible
explanation for it being faster on one CPU and slower on another :-)  It
sounds like a cache-size issue.  If the Athlon has a bigger L1/L2 cache
then the algorithm might be faster overall but if uses more instructions
or space than the current algorithm it could be too big and incur a large
cache-miss penalty on the Celeron (which if I recall correctly was given a
really wimpy L1/L2 cache to keep costs down).  Such are the joys of modern
CPU architechtures...  There's been some work on "cache-oblivious"
algorithms, which is essentially a technique of designing the algorithm to
work on small, localized and usually recursive subsets of the total
problem (this is especially useful for divide-and-conquor algorithms) so
that once you have a subproblem which fits in cache, solving that
subproblem is efficient without having to know a priori the size of the
processor cache.

Just something to think about -- as I said, I haven't looked at the code
involved so I could completely off base :-)

On Thu, 21 Nov 2002, Daniel Duhprey wrote:

> On Thu, 21 Nov 2002, Henri Hakl wrote:
>
> -->Please check the accuracy and speed using the testsuite provided with ODE.
>
> If I'm using the numbers from the test_ldlt correctly (as a raw time on
> some scale) then on my athlon its about 38% faster and on my celeron its
> roughly twice as slow :).

[   Peter Amstutz   ][ amstutz@cs.umass.edu ][ tetron@interreality.org  ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE93VdXaeHUyhjCHfcRAiRMAJ9DdwekLZIYJk0n/fAjtcd3aDG0vACfRze6
mcOSJYkj8/NzQXeW/qoia+k=
=SJZQ
-----END PGP SIGNATURE-----