http://www.miikahweb.com/feed.php MiikaHweb - Blender Temp-cycles-opencl-staging Branch http://www.miikahweb.com/ MiikaHweb - Blender Temp-cycles-opencl-staging Branch fi Tue, 20 Aug 19 16:31:36 +0000 MiikaHweb RSS contact at miikahweb.com <![CDATA[[06af96c]: Cycles: Add function to accumulate samples with atomics for...]]> http://www.miikahweb.com/en/blender/git-logs/commit/06af96c55564e0133e00b120b1153d2709b24886 06af96c
Branches : temp-cycles-opencl-staging
Author : Mai Lavelle (maiself)
----------------------------------------
Cycles: Add function to accumulate samples with atomics for split kernel

Samples ran in parallel need a safe way to accumulate their results
with the results of other threads.

----------------------------------------
1 Path Changed]]>
Thu, 08 Jun 2017 09:19:59 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/06af96c55564e0133e00b120b1153d2709b24886Mai Lavelle
<![CDATA[[13d8cc6]: Cycles: Blacklist unsupported OpenCL devices]]> http://www.miikahweb.com/en/blender/git-logs/commit/13d8cc6a6fe4b25da48899119f6172b4a55010f9 13d8cc6
Branches : temp-cycles-opencl-staging
Author : Hristo Gueorguiev (nirved)
Committed By : Mai Lavelle (maiself)
----------------------------------------
Cycles: Blacklist unsupported OpenCL devices

Due to various driver issues with AMD GCN 1 cards we can no longer support
these GPUs. This patch makes them unavailable to select for Cycles rendering.

GCN cards 2 and higher are still supported. Please use the most recent
drivers available to ensure proper functionality.

See here for a list to check which GPUs are supported:
https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units

----------------------------------------
2 Paths Changed]]>
Thu, 08 Jun 2017 09:19:59 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/13d8cc6a6fe4b25da48899119f6172b4a55010f9Hristo Gueorguiev
<![CDATA[[84f34fa]: Cycles: Add atomic decrement functions to util_atomic.h]]> http://www.miikahweb.com/en/blender/git-logs/commit/84f34fa14106de1b8149aa1d13ed2d60e9ca24cc 84f34fa
Branches : temp-cycles-opencl-staging
Author : Mai Lavelle (maiself)
----------------------------------------
Cycles: Add atomic decrement functions to util_atomic.h

----------------------------------------
1 Path Changed]]>
Thu, 08 Jun 2017 09:19:59 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/84f34fa14106de1b8149aa1d13ed2d60e9ca24ccMai Lavelle
<![CDATA[[86b8427]: Cycles: Add kernel to enqueue inactive rays]]> http://www.miikahweb.com/en/blender/git-logs/commit/86b8427c85224d5b52ca8b43334149013d7bd1d1 86b8427
Branches : temp-cycles-opencl-staging
Author : Mai Lavelle (maiself)
----------------------------------------
Cycles: Add kernel to enqueue inactive rays

The queue will be used to make reuse of inactive threads to keep
the GPU more busy.

----------------------------------------
10 Paths Changed]]>
Thu, 08 Jun 2017 09:19:59 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/86b8427c85224d5b52ca8b43334149013d7bd1d1Mai Lavelle
<![CDATA[[cf086d6]: Cycles: Adjust split kernel tile updating logic to make rendering...]]> http://www.miikahweb.com/en/blender/git-logs/commit/cf086d6273fa613939a43b38fcb5f03b4c81d18f cf086d6
Branches : temp-cycles-opencl-staging
Author : Mai Lavelle (maiself)
----------------------------------------
Cycles: Adjust split kernel tile updating logic to make rendering a bit faster

This makes tiles update less frequently and causes there to be more samples
in each batch making rendering faster. This helps a bit with the
slowdown seen from D2703.

I don't really like tiles not updating as much, it feels much less
responsive, maybe theres another way to go about it?

Timings by nirved: https://hastebin.com/ifanihewum.css

----------------------------------------
6 Paths Changed]]>
Thu, 08 Jun 2017 09:35:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/cf086d6273fa613939a43b38fcb5f03b4c81d18fMai Lavelle
<![CDATA[[d02d250]: Cycles: Add function to dequeue a ray]]> http://www.miikahweb.com/en/blender/git-logs/commit/d02d2503ed12592d2dd2e40481e4f2372354651c d02d250
Branches : temp-cycles-opencl-staging
Author : Mai Lavelle (maiself)
----------------------------------------
Cycles: Add function to dequeue a ray

----------------------------------------
1 Path Changed]]>
Thu, 08 Jun 2017 09:19:59 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/d02d2503ed12592d2dd2e40481e4f2372354651cMai Lavelle
<![CDATA[[e180529]: Cycles: Pass all buffers to each kernel call for OpenCL]]> http://www.miikahweb.com/en/blender/git-logs/commit/e1805299d2f43f8ab473a979bafc7a8b57d9270b e180529
Branches : temp-cycles-opencl-staging
Author : Mai Lavelle (maiself)
----------------------------------------
Cycles: Pass all buffers to each kernel call for OpenCL

Technically not passing all buffers used by a kernel is undefined
behavior. We haven't had any issues with this so far on AMD or
Nvidia, but it's known to be a problem with Intel and we received
a report from AMD that this is a problem on newer hardware, so we
need to make this change at some point.

Unfortunately there a cost to being correct, about 5% for the
benchmark scenes. For low sample counts it's even worse, I've
seen up to 50% slowdown. For the latter case I think adjusting
tile updating logic can help, but not sure what that would look
like yet (it would be just a few lines change however).

----------------------------------------
21 Paths Changed]]>
Thu, 08 Jun 2017 09:35:26 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/e1805299d2f43f8ab473a979bafc7a8b57d9270bMai Lavelle
<![CDATA[[e7ad962]: Cycles: Faster split branched path tracing by sharing samples...]]> http://www.miikahweb.com/en/blender/git-logs/commit/e7ad962a40f12280ab0b40026d839e2562bfbbc2 e7ad962
Branches : temp-cycles-opencl-staging
Author : Mai Lavelle (maiself)
----------------------------------------
Cycles: Faster split branched path tracing by sharing samples with inactive threads

Unlike regular path tracing, branched path tracing is usually used with lower
sample counts, at least for primary rays. This means that are less samples for
the GPU to work on in parallel and rendering is slower. As there is less work
overall there is also more inactive threads during rendering with BPT. This
patch makes use of those inactive rays to render branched samples in parallel
with other samples.

Each thread that is preparing for a branched sample will attempt to find an
inactive thread and if one is found the state for the sample is copied to that
thread. Potentially, if there are enough inactive threads, 100s of branched
samples could be generated from the same originating thread and ran in
parallel giving large speed ups.

Gives 70% faster render for pavillion midday scene. 20-60% faster on BMW
with car paint replaced with SSS/volumes.

----------------------------------------
10 Paths Changed]]>
Thu, 08 Jun 2017 09:19:59 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/e7ad962a40f12280ab0b40026d839e2562bfbbc2Mai Lavelle