CUDA 6.5 improves render times


Advanced search

Message boards : Client : CUDA 6.5 improves render times

Author Message
funkydude
Send message
Joined: 23 Dec 13
Posts: 275
Credit: 2,478,281
RAC: 0
Message 13167 - Posted: 22 Aug 2014, 22:24:07 UTC

Hi everyone,
NVIDIA just released the CUDA Toolkit 6.5:
https://developer.nvidia.com/cuda-toolkit

I recommend an update for 2 reasons:
1) It improves rendering performance.
2) It now supports Visual Studio 2013, so no other VS or SDK
installations are needed anymore on Windows.

I ran some benchmarks on Windows 7 x64, with a Geforce 540M (sm_21),
master 2e5e1e2.
- cornell_box.blend (256x256 Tiles, 100 Samples)
- bmw.blend (128x128 Tiles, 100 Samples)

1) Master (Vanilla) with Toolkit 6.0
- cornell: 57.47s
- bmw: 1:53.63min

2) Master (Vanilla) with Toolkit 6.5
- cornell: 54.10s
- bmw: 1:50.10min

3) Master (with __VOLUME__) with Toolkit 6.5
- cornell: 56.15s
- bmw: 1:52.51min

4) Master (with __VOLUME__ and __VOLUME_SCATTER__) with Toolkit 6.5
- cornell: 56.99s
- bmw: 1:54.37min

I think we have 2 choices after the CUDA Toolkit upgrade:
1) Keep feature set as is, benefit from better performance
2) Enable Volume (and Volume Scatter) on GPU, performance stays roughly
the same

Best regards,
Thomas


Source: http://lists.blender.org/pipermail/bf-cycles/2014-August/002051.html

Also, pre-CUDA 6.0 support is being dropped.

Are we using 6.0 or 6.5?

Profile Janus
Volunteer moderator
Project administrator
Avatar
Send message
Joined: 16 Jun 04
Posts: 4478
Credit: 2,094,806
RAC: 0
Message 13168 - Posted: 23 Aug 2014, 14:23:19 UTC

I believe the next version to go on the farm is 6.5.14 - in general we are following the same releases as the official Blender client releases do.
There has been steady improvements in performance in both Cycles, Blender, the GPU shader compilers (which are part of the toolkit you mention) and the drivers for quite a while now.

Likely future improvements are: even better performance while potentially using less than one CPU core to keep the GPU busy.

funkydude
Send message
Joined: 23 Dec 13
Posts: 275
Credit: 2,478,281
RAC: 0
Message 13182 - Posted: 25 Aug 2014, 18:08:54 UTC - in response to Message 13168.

So by next version to go on the farm you meant..? The 3rd next version? :P

funkydude
Send message
Joined: 23 Dec 13
Posts: 275
Credit: 2,478,281
RAC: 0
Message 13240 - Posted: 13 Sep 2014, 16:58:46 UTC

Is this proving to be more difficult than anticipated or something?

Profile Janus
Volunteer moderator
Project administrator
Avatar
Send message
Joined: 16 Jun 04
Posts: 4478
Credit: 2,094,806
RAC: 0
Message 13241 - Posted: 13 Sep 2014, 17:59:42 UTC - in response to Message 13168.

We are following the same releases as the official Blender client releases do.

I believe the next version to go on the farm is 6.5.14

funkydude
Send message
Joined: 23 Dec 13
Posts: 275
Credit: 2,478,281
RAC: 0
Message 13252 - Posted: 17 Sep 2014, 15:55:33 UTC

I'd be lieing if I said I understood what you're trying to say with those quotes.

So by "the next version to go on the farm" you actually meant "the next time we update the client and push it to the farm". There's been many GPU projects on the farm since you made that statement and all have been the usual 4.94 client.

Also I'm not sure what you mean by "we follow the Blender releases", are you trying to say that the CUDA version used by the client is hardcoded and you can't choose? That's not what it sounds like to me. It sounds like a parameter you can pass to the client that for some reason is taking ages to implement, wasting GPU time in the process.

Minor changes shouldn't be taking this long to implement. It's time to embrace frequent releases.

Profile Janus
Volunteer moderator
Project administrator
Avatar
Send message
Joined: 16 Jun 04
Posts: 4478
Credit: 2,094,806
RAC: 0
Message 13259 - Posted: 18 Sep 2014, 19:30:07 UTC - in response to Message 13252.
Last modified: 18 Sep 2014, 19:57:41 UTC

So by "the next version to go on the farm" you actually meant "the next time we update the client and push it to the farm"

Exactly - or even more specifically: when Blender 2.72 is released (which is pretty soon btw).

are you trying to say that the CUDA version used by the client is hardcoded and you can't choose? That's not what it sounds like to me. It sounds like a parameter you can pass to the client that for some reason is taking ages to implement, wasting GPU time in the process.

The CUDA SDK toolkit (not to be confused with CUDA, the language - or shader model versions for that matter) is part of the build process that is used to build the kernels that run on the GPU. It is not shipped in its entirety with the client as such (although for OSX and Linux, which also are not officially supported here right now, for technical reasons it is). That said, the code kinda depends on specific versions of the CUDA toolkit because not all kernels compile correctly with all versions of the nvcc compiler. For this reason there is a recommended Blender CUDA Toolkit SDK version and it changes over time. It is not hardcoded in the true meaning of the word but everyone kinda just switches to the newest version some time before a new Blender version is released in order to make sure that everything is stable.

I believe that the CUDA SDK Toolkit 6.5 was not officially ready in sufficient time for the release of Blender 2.71

Minor changes shouldn't be taking this long to implement. It's time to embrace frequent releases.

Nothing is stopping you - a build takes less than a few hours if you know what you are doing and requires less than 8GB of RAM during the kernel compilations even if including the experimental kernels.

Each new compiler version, be that gcc, nvcc, php (yes we actually use compiled rather than interpreted PHP), java or any other compiler used in this project is typically slightly faster than the previous version. We do not push out new client versions every time a new nightly build is released - that is left as an exercise for the impatient with lots of time on their hands.

A more central aspect is to get it to work with BURP at all - and we are not quite there yet. If that is considered a waste then so be it.

funkydude
Send message
Joined: 23 Dec 13
Posts: 275
Credit: 2,478,281
RAC: 0
Message 13271 - Posted: 21 Sep 2014, 9:44:42 UTC

I claimed the extra timed being used by the current GPU application, which could be swapped over to CUDA 6.5 and use less time, thereby processing units faster, and moving to the next unit faster, was a waste.

I did not claim you trying to get the GPU client to work with BURP a waste. Which it seems to work with fine already? I'm unsure what that statement is meant to mean.

So by the looks of what you're saying we won't be seeing CUDA 6.5 until the next release of Blender, and thus the release of the Blender CUDA Toolkit. Thankfully it seems Blender 2.72 is coming soon.


Post to thread

Message boards : Client : CUDA 6.5 improves render times