From: Christian M. <mail@ChristianMayer.de> - 2006-01-15 11:54:45
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Mathias Fr=F6hlich schrieb: >> The sg* vectors and matrices are created in such a way that they'll >> offer the higest possible performance and compatability for using Open= GL. > column major like fortran :) > Well, I worked, together with some collegues, on getting a linux cluste= r into=20 > the top500 some time ago :) Good to hear. (BTW: my diploma thesis [=3D roughly a masters thesis] was the creation o= f cache oblivious matrix operations in C++ using the space filling Peano curve; I could beat the Intel Math Kernel Library in optimal cache use - und even performance wise when I used only x87 instructions :) I put the code and the thesis at http://tifammy.sf.net/ Space filling curves have very interesting properties for high performance computing - not only for cache efficiency but also for partitioning of problems for parallel computers / clusters) > Yep, I believe that this small vector set will even provide more perfor= mance=20 > since it will just work with all ss?g* functions natively. Instead of t= hat=20 > horrible mix of sg* and simgear point3d datatypes we have at the moment= ,=20 > which do not interface well and thus needs masses of hand coded copies = from=20 > one datatype to the other. You can just use such a thing as a drop in=20 > replacement for any sg type. At the times I did active FGFS development I also didn't like the many different vector classes. > It takes me regularily needless time to clearify what I have in my hand= s if I=20 > get a Point3D datatype. Different classes (or just class names) sound like an good idea. It might be interesting to offer the use of SSE values internally. This could give a little performance boost for modern IA-32 processors. CU, Christian |