[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