nVIDIA's "SLI" solution

Discussion in 'Architecture and Products' started by 991060, Jun 28, 2004.

  1. nutball

    Veteran Subscriber

    Joined:
    Jan 10, 2003
    Messages:
    2,153
    Likes Received:
    483
    Location:
    en.gb.uk
    Yeah that monitor looks quite tasty. Is it a re-badged Big Bertha? (You know, the IBM one from a few years back).
     
  2. Mephisto

    Newcomer

    Joined:
    Feb 7, 2002
    Messages:
    200
    Likes Received:
    0
    Hmm. How would that work? Lets say the driver sends all vertices of triangles in the upper screen part to card A and all vertices of triangles in the lower part to card B and overlapping vertices to both cards (or cut them in two parts?)

    What if the VS transforms a alpha blended vertice/triangle that has been on the upper part down to the lower part? Then it would have to send the (transformed) vertices to card B, not?
     
  3. Xmas

    Xmas Porous
    Veteran Subscriber

    Joined:
    Feb 6, 2002
    Messages:
    3,298
    Likes Received:
    137
    Location:
    On the path to wisdom
    You can only know where a triangle will end up on screen after transforming the three vertices. But if you split horizontally or vertically, you only need to get the x or y coordinate (x/z or y/z, maybe) to determine which chip has to do the processing (or both). You could also use a bounding volume to do a quick&dirty test (like NV does with display lists). A problem might be analyzing the vertex shader code and stripping the transform calculation from it.
     
  4. KimB

    Legend

    Joined:
    May 28, 2002
    Messages:
    12,902
    Likes Received:
    218
    Location:
    Seattle, WA
    Isn't a bounding volume mathematically the same as calculating one coordinate in this case?
     
  5. Xmas

    Xmas Porous
    Veteran Subscriber

    Joined:
    Feb 6, 2002
    Messages:
    3,298
    Likes Received:
    137
    Location:
    On the path to wisdom
    I don't get what you mean. Why would this be the same?
     
  6. KimB

    Legend

    Joined:
    May 28, 2002
    Messages:
    12,902
    Likes Received:
    218
    Location:
    Seattle, WA
    A "bounding volume" would, in this case, just be a bounding plane. Whether or not a vector is below a bounding plane is a 3-component dot product compared to a specific value. Since we don't care about the w component here, this same 3-component dot product should simply give the y component of the vertex's position in screen space.
     
  7. Xmas

    Xmas Porous
    Veteran Subscriber

    Joined:
    Feb 6, 2002
    Messages:
    3,298
    Likes Received:
    137
    Location:
    On the path to wisdom
    I was talking about a bounding volume for the object, so that you don't need to check all vertices, but only 8 for a box. Of course the check on these vertices can be done the same way as a check for the individual vertices.


    edit: Note that a bounding volume can only be used with affine transformations, otherwise vertices are not guaranteed to be inside after transformation.
     
  8. KimB

    Legend

    Joined:
    May 28, 2002
    Messages:
    12,902
    Likes Received:
    218
    Location:
    Seattle, WA
    :idea:
    Oh, right, that's obviously completely different, and a much simpler computation.
     
  9. Ailuros

    Ailuros Epsilon plus three
    Legend Subscriber

    Joined:
    Feb 7, 2002
    Messages:
    9,420
    Likes Received:
    179
    Location:
    Chania
    What games? Even if games would support resolutions beyond 2048*1536 (which isn´t all that common too), performance would be lacklustering anyway.

    Maybe it´s just me, but I somehow have the feeling that even though 32" translates into a huge viewing area, 2500*1600 is a tad over the top. I´d most likely opt for 1920*1440 instead, in order to not have to glue my nose on it to read simple text.
     
  10. KimB

    Legend

    Joined:
    May 28, 2002
    Messages:
    12,902
    Likes Received:
    218
    Location:
    Seattle, WA
    This is why we need resolution-independent GUI's. If I were to double the resolution I currently work at (1280x960), yes, I would want the GUI to gracefully scale to the larger resolution, so I don't have to squint to read anything.
     
  11. nutball

    Veteran Subscriber

    Joined:
    Jan 10, 2003
    Messages:
    2,153
    Likes Received:
    483
    Location:
    en.gb.uk
    These have been around for years, but won't be "invented" until Microsoft release Longhorn.

    It's kinda an amusing parallel with anti-aliased outline fonts, also "invented" by Microsoft and introduced with Win 9x (despite the fact that certain other platforms had had them for years).
     
  12. Mephisto

    Newcomer

    Joined:
    Feb 7, 2002
    Messages:
    200
    Likes Received:
    0
    I don't think "analyzing" vertex shader code is a realistic solution. Games do lots of skeletal animation stuff and sometimes even physics which affect vertex positions ... hard to detect.

    The algorithm must be independent of the vertex shader code. I guess some redistribution of vertex data between to two card must be done after vertex shading.
     
  13. Ozo

    Ozo
    Newcomer

    Joined:
    Jul 1, 2004
    Messages:
    8
    Likes Received:
    0
    Hum..

    I hope nVidia was that brilliant. For some reason, I doubt that they have added that level of "intelligence" in their GPU (i.e. exchanging vertex data over the SLI bus).

    Many applications (like terrain mesh rendering) render the whole scene with a single draw primitive, i.e. a single large triangle mesh; with all the vertices cached in video memory. If we are to discuss how SLI can speed-up geometry-bound applications, this would be a good example to analyze.

    My guess is that nVidia supports other rendering modes than just the horizontal-split mode. An "easy" way of getting twice the geometry performance is by supporting an Alternate-Frame-Rendering scheme similar to ATI's AFR (see Rage Fury MAXX). That type of scheme is much more complex to support at driver level and I suspect this mode not to be ready yet (if ever). Note that AFR would also double the latency, making it not very well "scalable" (like the "S" in SLI).

    Ozo.
     
  14. Xmas

    Xmas Porous
    Veteran Subscriber

    Joined:
    Feb 6, 2002
    Messages:
    3,298
    Likes Received:
    137
    Location:
    On the path to wisdom
    You can still try, and fall back to sending both cards all geometry data if the shader is too complex. Cases where the position is simply the result of a vector-matrix mul are easy to detect and very common.

    I highly doubt it. Post-transform cache is quite small, and the cards don't store transformed vertices in memory. So where should this vertex data go, and how would you compensate the latency if one GPU is waiting for vertex data from the other GPU to continue rendering?


    Ozo, why would AFR be complex at the driver level?
     
  15. AlphaWolf

    AlphaWolf Specious Misanthrope
    Legend

    Joined:
    May 28, 2003
    Messages:
    8,477
    Likes Received:
    326
    Location:
    Treading Water
    Well I was speaking about the fractional. 1/2 of an odd res is still an odd res.
     
  16. Simon F

    Simon F Tea maker
    Moderator Veteran

    Joined:
    Feb 8, 2002
    Messages:
    4,560
    Likes Received:
    157
    Location:
    In the Island of Sodor, where the steam trains lie
    I seriously doubt it. It'd take too much bandwidth.

    I think it'd be far more likely that the Y clipping planes are adjusted on each of the chips to stop overlap and to save some fill rate.
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...