Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine

2006-01-15 Thread Mathias Fröhlich

Hi,

On Saturday 14 January 2006 19:07, Ampere K. Hardraade wrote:
 That was a suggestion.  I current am not working on any document regarding
 the graphic engine, so I have nothing to share.  However, I along with
 several others, are working on a document regarding the architecture of FG.

 If you have concrete plans, you need to put them in a document so those
 people who want to help can understand what you are trying to do, then make
 addition or proposal modifications to some of your ideas.
Well not that concrete. :)

It is just that I have already a plan in my desk if we want to do that. A plan 
which has prooven good in an other projekt.

I have for example a list of things just required to be done before. I believe 
it is out of discussion that the ac reader must just work like the plib one 
does.

 The idea is to get the design and analysis done before writing a single
 line of code.  For a project as big as FlightGear, writing design reports
 should not be an option; it should be a must.
Well, a scenegraph is a scenegraph - more or less. At least in this direction. 
There is nothing I know of you can do with plib you cannot do with osg. There 
are aprioriate callbacks in osg so that you can implement the animation 
infrastructure like we have it with ssg*. So there is not much design to do 
in this area.

Given that the precautions are are all satisfied, that is 
- all required loaders for osg work like expected,
- we have an additional loader for the scenery files
- we have a good tri/quad striper for osg geometries.
- we have a short proof of concept to see how this interacts with pui
and most important
- *we* have *decided* to do that(!)
then, I think the plan would be as follows:
- build up a very thin envelope around the ssg* calls just taking scenegraph
  independent datastructure which could be translated to the aprioriate
  scenegraph. The best case is here that the datatypes are scenegraph
  independent but fit directly into the ssg functions directly.
  That is how I designed that vectors this discussion started from.
  Consequently no copying needs to be done.
  The envelope calls will be inlined and optimized away.
- From that point we will not have any direct ssg call in the sources
  except in that envelop classes.
- Now we can provide a set of envelop classes with osg as backend.
- Now see how we can integrate our direct OpenGL calls into that stuff
  to make it work with both envelopes.
- Past that we can play with that and can even easily go back if there
  are some unsolvable problems (I do not expect them).
- If osg turns out the way to go, one can remove the ssg envelopes and may
  remove the indirections through the osg envelope.
- Now you are really free to just use the cool features osg provides.

   Greetings

Mathias

-- 
Mathias Fröhlich, email: [EMAIL PROTECTED]
Mathias Fröhlich, email: [EMAIL PROTECTED]


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37alloc_id865op=click
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine

2006-01-15 Thread Christian Mayer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Mathias Fröhlich schrieb:
 The sg* vectors and matrices are created in such a way that they'll
 offer the higest possible performance and compatability for using OpenGL.
 column major like fortran :)
 Well, I worked, together with some collegues, on getting a linux cluster into 
 the top500 some time ago :)

Good to hear.

(BTW: my diploma thesis [= roughly a masters thesis] was the creation of
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 performance 
 since it will just work with all ss?g* functions natively. Instead of that 
 horrible mix of sg* and simgear point3d datatypes we have at the moment, 
 which do not interface well and thus needs masses of hand coded copies from 
 one datatype to the other. You can just use such a thing as a drop in 
 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 hands if I 
 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


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37alloc_id865op=click
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine

2006-01-15 Thread Mathias Fröhlich

Hi,

On Sunday 15 January 2006 12:54, Christian Mayer wrote:
 (BTW: my diploma thesis [= roughly a masters thesis] was the creation of
 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)
Sounds interresting.
Downloaded that matrix kernels.
... let's see what I can make use of :)
What did you study?

  Yep, I believe that this small vector set will even provide more
  performance since it will just work with all ss?g* functions natively.
  Instead of that horrible mix of sg* and simgear point3d datatypes we have
  at the moment, which do not interface well and thus needs masses of hand
  coded copies from one datatype to the other. You can just use such a
  thing as a drop in replacement for any sg type.

 At the times I did active FGFS development I also didn't like the many
 different vector classes.
Yep, the aim is that you have an intuitive usable thing you can use directly 
with the scenegraph.

 It might be interesting to offer the use of SSE values internally. This
 could give a little performance boost for modern IA-32 processors.
Well, wait for gcc 4.2.
There is much work going on in the direction of autovectorization. The tree 
optimization infrastructure has brought many improovments for optimizations. 
But a patch which has arrived yesterday in the svn head revision makes now 
definitly use of that. Richard Günther has yesterday checked in a patch which 
makes gcc see that array elements of the same array with different indices 
cannot alias. This now opens the door to do autovectorizations for small 
arrays. There is a tunable maximum array length of 4, but first tests with 16 
for the typical transform matrices have shown that gcc now uses some 
addp[sd]'s instead of the unpacked versions ...

Greetings

  Mathias

-- 
Mathias Fröhlich, email: [EMAIL PROTECTED]


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37alloc_id865op=click
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine

2006-01-15 Thread Christian Mayer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Mathias Fröhlich schrieb:
 Hi,
 
 On Sunday 15 January 2006 12:54, Christian Mayer wrote:
 (BTW: my diploma thesis [= roughly a masters thesis] was the creation of
 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)
 Sounds interresting.
 Downloaded that matrix kernels.
 ... let's see what I can make use of :)
 What did you study?

Technomathematik (= applied mathematics)

Oh, I've just seen that I didn't link the thesis yet. Should be there
under documentation in a few minutes

 It might be interesting to offer the use of SSE values internally. This
 could give a little performance boost for modern IA-32 processors.
 Well, wait for gcc 4.2.

gcc isn't the only compiler though. For the IA-32 are at least the
MSVC++ and the Intel ICC important, too.

And my expericence (with ICC) are, that the vectorisation does only work
for loops.
The code of my thesis uses recursions and explicitly coded operations.
The ICC wansn't able to auto vectorise any of those.

CU,
Christian


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (MingW32)

iD8DBQFDyj2LlhWtxOxWNFcRAtuRAJ9UXqusko5friqZfIWRXwcYElst7gCgpEyK
xsMhESvH1STx6Y7K+9oF5fc=
=V/7g
-END PGP SIGNATURE-


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37alloc_id865op=click
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine

2006-01-15 Thread Mathias Fröhlich

Hi,

On Sunday 15 January 2006 13:18, Christian Mayer wrote:
 Technomathematik (= applied mathematics)
Karlsruhe?

Mathematician from Tübingen, did numerical analysis, mostly timestepping.

 Oh, I've just seen that I didn't link the thesis yet. Should be there
 under documentation in a few minutes
Thanks!

  It might be interesting to offer the use of SSE values internally. This
  could give a little performance boost for modern IA-32 processors.
 
  Well, wait for gcc 4.2.

 gcc isn't the only compiler though.
:)

 For the IA-32 are at least the 
 MSVC++ and the Intel ICC important, too.

 And my expericence (with ICC) are, that the vectorisation does only work
 for loops.
 The code of my thesis uses recursions and explicitly coded operations.
 The ICC wansn't able to auto vectorise any of those.
Ok, interresting. I heared that MSVC does vectorization for some time.
But as long as I am that used to unix in contrast to windows, MSVC is not an 
option for me :)
ICC is something I play with at some times. But I never tried how it 
vectorizes.
Also the gcc development is much more interresting since you can watch that 
development including the internal comments. With closed compilers you can 
see marketing headlines which mostly do not have any technical relevance ...
... 'see now you have only two clicks to refactor whatever'
:)

  Greetings

   Mathias

-- 
Mathias Fröhlich, email: [EMAIL PROTECTED]


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37alloc_id865op=click
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine

2006-01-15 Thread Christian Mayer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Mathias Fröhlich schrieb:
 Hi,
 
 On Sunday 15 January 2006 13:18, Christian Mayer wrote:
 Technomathematik (= applied mathematics)
 Karlsruhe?

Nope, TU München

 Mathematician from Tübingen, did numerical analysis, mostly timestepping.

Numerics is also the stuff that I do most (as well as lots of fluid
dynamics).

 And my expericence (with ICC) are, that the vectorisation does only work
 for loops.
 The code of my thesis uses recursions and explicitly coded operations.
 The ICC wansn't able to auto vectorise any of those.
 Ok, interresting. I heared that MSVC does vectorization for some time.

I've only used the .NET 2003 version (i.e. 7.1 IIRC). And that couldn't
do any vectorisation. It could use the scalar SSE instructions instead
of the x87 though (they are faster for the Pentium 4; my Pentium M was a
bit slower)

 Also the gcc development is much more interresting since you can watch that 
 development including the internal comments. With closed compilers you can 
 see marketing headlines which mostly do not have any technical relevance ...

Yes, but at least a shot time ago the IIC was supposed to do better
optimisations (I *think* that's still true - but have no measurements)

CU,
Christian


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (MingW32)

iD8DBQFDykD8lhWtxOxWNFcRAg0vAJ4oGTbTR87EUl5kHAM0zSjOkeO6fQCgjVVZ
URw5Mepsztd5voZAZAbzVTg=
=RXXx
-END PGP SIGNATURE-


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37alloc_id865op=click
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine

2006-01-15 Thread Mathias Fröhlich

Hi,

On Sunday 15 January 2006 13:33, Christian Mayer wrote:
 Numerics is also the stuff that I do most (as well as lots of fluid
 dynamics).
Ok, so you are actually writing on your PHD?

  Ok, interresting. I heared that MSVC does vectorization for some time.

 I've only used the .NET 2003 version (i.e. 7.1 IIRC). And that couldn't
 do any vectorisation. It could use the scalar SSE instructions instead
 of the x87 though (they are faster for the Pentium 4; my Pentium M was a
 bit slower)
Ok, just the scalar ones is not something really interresting ...

   Greetings

 Mathias

-- 
Mathias Fröhlich, email: [EMAIL PROTECTED]


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37alloc_id865op=click
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine

2006-01-15 Thread Christian Mayer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Mathias Fröhlich schrieb:
 Hi,
 
 On Sunday 15 January 2006 13:33, Christian Mayer wrote:
 Numerics is also the stuff that I do most (as well as lots of fluid
 dynamics).
 Ok, so you are actually writing on your PHD?

Nein. Ich muß erst noch die Hauptdiplomprüfungen im Februar/März überstehen.

Dann mach evtl. bei BMW einen Dr. (falls die endlich mit der Stelle in
die Gänge kommen...) oder suche mir eine normale Anstellung.

CU,
Christian

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (MingW32)

iD8DBQFDykvJlhWtxOxWNFcRAiHcAKCgul5yHNBTNnG+4DXW7LHrQAO4XACfZ2/a
lYC6WXncQr718+wvIWCN4dA=
=7FF2
-END PGP SIGNATURE-


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37alloc_id865op=click
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine

2006-01-15 Thread Mathias Fröhlich

Hi

Aem, sorry for that noise, As Christian started to reply in german, I thought 
that we have private mails

Sorry!

  Mathias 

-- 
Mathias Fröhlich, email: [EMAIL PROTECTED]


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37alloc_id865op=click
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine

2006-01-15 Thread Curtis L. Olson

Mathias Fröhlich wrote:


Hi

Aem, sorry for that noise, As Christian started to reply in german, I thought 
that we have private mails


Sorry!
 



I was reading through the thread this morning and as it progressed there 
were more and more german words intermixed and then wham all german.


I've been working on a large vehicle steering and guidance controller 
(snowplow/truck) for my day job and if pavement==english and 
grass==german, the language use of this thread, closely approximates 
what my truck does if I try to drive through a corner too fast. :-)


Curt.

--
Curtis Olsonhttp://www.flightgear.org/~curt
HumanFIRST Program  http://www.humanfirst.umn.edu/
FlightGear Project  http://www.flightgear.org
Unique text:2f585eeea02e2c79d7b1d8c4963bae2d



---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel