[ODE] More speed???
Nguyen Binh
ngbinh at glassegg.com
Fri Nov 7 10:44:33 MST 2003
Hi
ADM> SIMD is a general term, but you're right, I imagine it'll first
ADM> be SSE like dSetZero(). :) ODE's source is available, so
ADM> anyone who knows 3dnow/etc can always add support separately...
ADM> but runtime autodetection glue so often gets forgotten...
I had thought about this.My idea is
1)SeparateSSE,3DNow,MMX,normal,...code path by predefined in ODE
source.
2)After that build ODE's app for all platform, so we have:
ODE_App_SSE.exe (Enable SSE)
ODE_App_MMX.exe (Enable MMX)
ODE_App_MyGrandad_Computer.exe (No MMX)
3) Create a simple "loader" like this:
Platform = detectPlatform();
if (Platform is support SSE)
{
Excute ODE_App_SSE.exe;
}
else
if (Platform is support MMX)
{
Excute ODE_App_MMX.exe;
}
else
{
Excute ODE_App_MyGrandad_Computer.exe;
}
This loader can be implemented easily in C/C++,...or even Unix
shell of DOS batch(with detect routine plus some errorlevel).
ADM> I wish there was a good cross-platform solution for SIMD (does
ADM> anyone know any?). GCC 3.4 (&3.3?) seems to have some low-level
ADM> cross-platform vector builtins, but I don't know how practical
ADM> they work out to be. I don't think they begin to cover runtime
ADM> arch detection and code-switching though.
I don't know also. :).
ADM> --Adam
--
Best regards,
---------------------------------------------------------------------
Nguyen Binh
Software Engineer
Glass Egg Digital Media
E.Town Building
7th Floor, 364 CongHoa Street
Tan Binh District,
HoChiMinh City,
VietNam,
Phone : +84 8 8109018
Fax : +84 8 8109013
www.glassegg.com
---------------------------------------------------------------------
More information about the ODE
mailing list