To: NightOwl who wrote (73260 ) 5/20/2001 1:27:36 AM From: SBHX Read Replies (1) | Respond to of 93625 NightOwl, I don't know about others, but my definition of a streaming app is one where for all intents and purposes data access is very large sequential (ie: the dataset is so large that the L1 and L2 caches are overwhelmed easily). So is an artificial matrix multiply that is big enough. MPEG2 and MPEG4 compression are examples of streaming apps. A gigabit ethernet router is also a streaming app but only because it is so large and so fast. You are right in that streaming apps are not normal traditional apps solved by a general purpose computer. Typically those things are handled by DSP like architectures. But ever since simd things like mmx and sse appeared, intc has been trying hard to make these things run faster on a general purpose app. If you believe intc's message. The old method of computing that involves random and sparse access are not as important. I don't believe this is so. Even with a very new app like 3D-geometry transforms of vertices, intc and msft spent a lot of cycles trying to rearrange data structures of data in vertices. Most normal people would arrange the (X,Y,Z,texture coordinates, color) information into an array of structures --- something that does not fit well into streaming models (another example of granularity loss). The 3D-transform only requires (X,Y,Z) and wants to ignore the rest, but can't because of memory granularity. To sumamrize, lots of cycles were spent on trying to convince people to build their vertices as a structure of arrays (SOA) to avoid this problem. Don't know if gamers eventually went for that idea. It was messy to implement and not everyone was impressed with this. SbH