CUDA real-time path tracing demo

Discussion in 'GPGPU Technology & Programming' started by straaljager, Jul 2, 2010.

  1. keldor

    Newcomer

    Joined:
    Dec 22, 2011
    Messages:
    74
    Likes Received:
    107
    I mean idling at the kernel execution level - the GPU finishes TracePixelReference, copies the results back with memcpyDtoH, then proceeds to do absolutely nothing for around 500ms before starting the memcpyHtoD at the beginning of the next frame. (How many posts are needed until I can post my image without moderator approval?? >.<)
     
  2. straaljager

    Newcomer

    Joined:
    Sep 1, 2008
    Messages:
    77
    Likes Received:
    0
    Ok, that's very interesting. To be honest I'm not developing the core Brigade code and the CUDA path tracing kernels myself, I'm only messing around with the scene description files trying to create interesting demos that show off the strong points of path tracing. But I will forward your observations to the main developers. Can you tell what hardware and OS your running the demo on?
     
  3. keldor

    Newcomer

    Joined:
    Dec 22, 2011
    Messages:
    74
    Likes Received:
    107
  4. keldor

    Newcomer

    Joined:
    Dec 22, 2011
    Messages:
    74
    Likes Received:
    107
  5. keldor

    Newcomer

    Joined:
    Dec 22, 2011
    Messages:
    74
    Likes Received:
    107
    I suspect there's something silly going on, like a bad timer for your draw loop. I can't think of anything else that would cause a bubble of this size. Also, it's dependent on the output resolution - which is quite odd, since you would think that code outside of the render kernel would be constant cost...
     
  6. straaljager

    Newcomer

    Joined:
    Sep 1, 2008
    Messages:
    77
    Likes Received:
    0
    Thanks for the screenshot, this may be helpful. I've emailed the developers about this.
     
  7. Roeny

    Newcomer

    Joined:
    Dec 22, 2011
    Messages:
    4
    Likes Received:
    0
    Location:
    Texture cache
    allow me to join the conversation,

    as you can see in most screenshots, brigade spends only 30% of the time on tracing, this is propably due to the converging as this is a heavy full float process
    or its because the demo itself is doing stuff ( physics ? )
    if you look at the mrays in the HUD you can see 2 numbers, the one on the left is the estimated performance if all time would be spent pathtracing, the second on is how many the brigade actually got to do.
    so if your app doesnt do anything these numbers should equal.
    the total overhead at the brigade side is ab 250us, if you move objects it will go up by a few ms ( never the 500ms we see here )

    - Jeroen van Schijndel
     
  8. keldor

    Newcomer

    Joined:
    Dec 22, 2011
    Messages:
    74
    Likes Received:
    107
    Running at the minimum settings tells a similar story, though there's also a rather alarming bubble forming between the kernel and the copy back.
     
  9. keldor

    Newcomer

    Joined:
    Dec 22, 2011
    Messages:
    74
    Likes Received:
    107
  10. keldor

    Newcomer

    Joined:
    Dec 22, 2011
    Messages:
    74
    Likes Received:
    107
    The big problem is that the idle time seems to be dependent on the render time. This rules out physics and BVH calculation since those really should be constant compute time per frame, but the idle time ranges from perhaps 40ms in the minimum settings to 400ms in the maximum settings. But there are the same number of physics objects and triangles in either case!
     
  11. Roeny

    Newcomer

    Joined:
    Dec 22, 2011
    Messages:
    4
    Likes Received:
    0
    Location:
    Texture cache
    Not really,

    Its a ratio, so if you were to take the same demo with a more expensive GPU program the idletime would go down, but more importantly if you would make the CPU side faster the idle time also goes down, i attached a image showing this.

    [​IMG]

    anyway, great demo's out here, i should read this forum more often :)

    - Jeroen van Schijndel ( Brigade developer )
     
  12. Roeny

    Newcomer

    Joined:
    Dec 22, 2011
    Messages:
    4
    Likes Received:
    0
    Location:
    Texture cache
    I posted a reply but its awaiting administrator approval or something, the reason your idle time goes up for a higher resolution is because, the converging takes longer for high resolution.
    anway I posted something that will explain some things using the power of fancy graphs.

    -Jeroen van Schijndel
     
  13. straaljager

    Newcomer

    Joined:
    Sep 1, 2008
    Messages:
    77
    Likes Received:
    0
    #93 straaljager, Dec 30, 2011
    Last edited by a moderator: Dec 31, 2011
  14. straaljager

    Newcomer

    Joined:
    Sep 1, 2008
    Messages:
    77
    Likes Received:
    0
    #94 straaljager, Jan 4, 2012
    Last edited by a moderator: Jan 4, 2012
  15. Roeny

    Newcomer

    Joined:
    Dec 22, 2011
    Messages:
    4
    Likes Received:
    0
    Location:
    Texture cache
    very nice!
     
  16. straaljager

    Newcomer

    Joined:
    Sep 1, 2008
    Messages:
    77
    Likes Received:
    0
    Thanks :grin:

    I've made a new video featuring motion blur and a certain teapot:

    http://www.youtube.com/watch?v=KxELvSK3Gl0

    Rendered in real-time with GPU path tracing using just one GeForce GTS 450. The motion blur effectively multiplies the number of samples per pixel per frame by 5-10 times for free.
     
  17. straaljager

    Newcomer

    Joined:
    Sep 1, 2008
    Messages:
    77
    Likes Received:
    0
    #97 straaljager, Jan 24, 2012
    Last edited by a moderator: Jan 24, 2012
  18. jbikker

    Newcomer

    Joined:
    Jan 27, 2012
    Messages:
    1
    Likes Received:
    0
    I have uploaded some new demos of the Brigade2 path tracer. These should use multiple GPUs pretty much to their full potential. Available from: http://igad.nhtv.nl/~bikker .

    The 'Reflect' download is a small game (inspired by Portal 2), supported by Bullet physics. The package for that game includes source code and Brigade library files + hedaers, in case you want to do some experiments.

    Enjoy,
    - Jacco (main Brigade developer).
     
  19. fellix

    fellix Hey, You!
    Veteran

    Joined:
    Dec 4, 2004
    Messages:
    3,494
    Likes Received:
    405
    Location:
    Varna, Bulgaria
    Wow, that's very impressive! A bit grainy, though. :lol:

    Finally a true ray-traced FPS game. I want to see how Tahiti runs it -- this GPU already hinted for its potential in RT.
     
  20. straaljager

    Newcomer

    Joined:
    Sep 1, 2008
    Messages:
    77
    Likes Received:
    0
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...