State of the Code: CPU/Hybrid/GPU Modes & impact on HW

Discussions related to GPU Acceleration in LuxRender

Moderators: Dade, jromang, tomb, coordinators

State of the Code: CPU/Hybrid/GPU Modes & impact on HW

Postby whorfin » Mon Dec 02, 2013 9:22 pm

Artists & coders,

I've tried to find answers to these questions on my own searching the forums, but I tend to find contradictory answers or ones that (do to their age) may be out of date. This is presumably caused by development of Luxrender being a moving target: code is changed, features added and removed, priorities reassigned, etc., all of which is to be expected and applauded. Normally I would look at the benchmark results to figure a lot of this out but there seems to be an issue of odd results in that arena that don't match results elsewhere. Inconsistent results, even with the same versions of Luxmark using the same scenes, has me puzzled as well (my best guess is that 3rd party reviewers use not only different hardware but different rendering modes, resulting in 2x the performance from the same GPUs from different reviews on a single website). So, to help me make some hardware decisions, I bring my questions about the current version to you (which I take to be v1.3.1 for LuxRender; if SLG Development v2.0 should also be referred to please discuss that as well: I'll be glad to use whatever works best for a particular situation):

How "buggy" are the various modes (reading the threads one gets the impression that neither Hybrid or GPU are very stable or artifact free, a situation I presume has been largely corrected with revisions)?

How much RAM is typically needed for Daz/Poser type content for each mode (obviously this varies with content, I'm looking for general advice to avoid disaster)? From what I've gathered more than 20GB if often the case?

In CPU & Hybrid mode does the software favor the higher per core computational power of Intel, or the larger # of cores of AMD's strategy? (I'm not trying to start any arguments, just frame the question concisely.)

Are there any CPU special instruction sets (SSE, AVX, etc.) that any particular mode favors, now or in planned releases? (My 'understanding' is that for GPU mode the answer will always be "no", as it relies purely on OpenCL code.)

How much GPU memory (VRAM, normally) tends to be utilized in Hybrid mode currently? Is it just geometry, or is it more? Are 1-2GB cards sufficient for Hybrid mode, or are these actually overkill?

Does the number of PCIe lanes/slot have a greater impact in Hybrid mode (I think it would over GPU mode only as both sources of computation continually wait upon the other in Hybrid)?

In Hybrid mode, is it true that with "modern" powerful GPUs (particularly AMD's) processing tends to be CPU limited (higher GPU utilization than CPU)? Does anyone have a suggestion of "recipes" of CPU to GPU combinations that tend to keep the utilization of both (and, hopefully, efficiency) high? (An example: "2 7970 per i7 2600k non OC'ed.", etc.) Assume hypothetically that it is possible to maximize either the number of cards or cores in a system if this is beneficial.

Is there much impact in GPU mode with less powerful CPUs?

How much impact does memory bandwidth (RAM), disk speed, network, or other possible system bottlenecks actually have, and are particular modes more effected than others?

How well does the software currently scale (and does this differ by mode, hardware, and/or network render)? The answers I have found seem to vary from terrible to nearly perfectly.

I thank you in advance for your replies, and hope that my ignorance hasn't caused me to frame the question too badly. I apologize for the number of questions in this post, but spawning them all as separate threads seemed to be an even more annoying approach.
whorfin
 
Posts: 2
Joined: Tue Oct 08, 2013 6:17 pm

Re: State of the Code: CPU/Hybrid/GPU Modes & impact on HW

Postby Dade » Tue Dec 03, 2013 5:41 am

whorfin wrote:How "buggy" are the various modes (reading the threads one gets the impression that neither Hybrid or GPU are very stable or artifact free, a situation I presume has been largely corrected with revisions)?


They are not buggy (for what we know) but they support only a subset of the features of CPU-only code. Hybrid is also pretty near to support all features of the CPU-only code, it is something like the 99% of feature set. Hybrid major limitation is in the support of triangle/quad-only meshes (but this isn't usually a big deal). GPU-only code instead supports something like 40% of the features but, indeed, the gap is reduced by the porting effort going on.

The big plus of GPU rendering is the rendering speed and how you can increase your hardware resources (i.e. buying a second GPU is very cheap, buying a second CPU is not even possible most of the time).

whorfin wrote:How much RAM is typically needed for Daz/Poser type content for each mode (obviously this varies with content, I'm looking for general advice to avoid disaster)? From what I've gathered more than 20GB if often the case?


20GB are a lot of ram for the average models, this figure probably include to run Daz/Poser and LuxRender at the same time (this double the ram requirements). Hybrid can have some higher than usual memory requirement due to the way it works but it is a constant cost, it doesn't scale with the complexity of the scene and can be kept under control with some parameter tuning.
With GPU-only rendering, you have to store everything in the GPU ram so it is the amount of memory of the card that matter, not of the CPU. 3-6GB for today average high-end GPUs. Keep in mind, scene GPU representation is a bit more compact than CPU because it needs to store only the information for the ongoing rendering.

whorfin wrote:In CPU & Hybrid mode does the software favor the higher per core computational power of Intel, or the larger # of cores of AMD's strategy? (I'm not trying to start any arguments, just frame the question concisely.)


For the high-end segment, Intel wins, no match, AMD can not reach that kind of performance. For the middle-end, where Intel offers faster single core performance and AMD offers more cores, it is a matter of performance/price ratio. It is hard to say, probably it is a tie.

whorfin wrote:Are there any CPU special instruction sets (SSE, AVX, etc.) that any particular mode favors, now or in planned releases? (My 'understanding' is that for GPU mode the answer will always be "no", as it relies purely on OpenCL code.)


But OpenCL code, when compiled, will take advantage of AVX instructions where available. Anyway, AVX does a very little difference at the moment and SSE is supported by everyone so you can safely ignore special instruction sets.

whorfin wrote:How much GPU memory (VRAM, normally) tends to be utilized in Hybrid mode currently? Is it just geometry, or is it more? Are 1-2GB cards sufficient for Hybrid mode, or are these actually overkill?


Yes, it stores only geometry. It is something like 10 millions of triangles for each GB of GPU ram (but remember that the OS needs some memory for itself and other applications). With today 3-4GB cards, you should be able to render anything you want. With 2GB, you may have some limit.

whorfin wrote:Does the number of PCIe lanes/slot have a greater impact in Hybrid mode (I think it would over GPU mode only as both sources of computation continually wait upon the other in Hybrid)?


Nope, memory transfers are usually done in parallel with computations. Anyway, the bottleneck is usually the CPU not able to produce enough work to keep the GPU busy.

whorfin wrote:In Hybrid mode, is it true that with "modern" powerful GPUs (particularly AMD's) processing tends to be CPU limited (higher GPU utilization than CPU)? Does anyone have a suggestion of "recipes" of CPU to GPU combinations that tend to keep the utilization of both (and, hopefully, efficiency) high? (An example: "2 7970 per i7 2600k non OC'ed.", etc.) Assume hypothetically that it is possible to maximize either the number of cards or cores in a system if this is beneficial.


Hybrid requires a balanced system. To keep 2xHD7970 busy you need i7 with 32 cores and clocked at 20GHz ;) This is the point in all this GPU-thing: they are insanely fast (and cheap when compared to CPUs). To give you an idea, my i7-3930K@4.5GHz is barely able to produce a 60-70% load on a single HD7970.

Try GPU-only rendering before to make any choose. It is so much faster that may be worth to accept all the limitations.

whorfin wrote:Is there much impact in GPU mode with less powerful CPUs?


CPU doesn't matter for GPU-only mode, or better it is just another OpenCL computational device that can be used but it will not affect the performance of OpenCL GPU device.

whorfin wrote:How much impact does memory bandwidth (RAM), disk speed, network, or other possible system bottlenecks actually have, and are particular modes more effected than others?


You can pretty much ignore all of them, they have a very little impact. Network rendering may be a bit influenced but I don't know if it is part of your plan or not.

whorfin wrote:How well does the software currently scale (and does this differ by mode, hardware, and/or network render)? The answers I have found seem to vary from terrible to nearly perfectly.


CPU-only scales well for today number of cores (4-32).

Hybrid scales well for today number of CPU cores but it is terrible with the number of GPUs (don't buy more than one GPU for hybrid).

OpenCL is plain perfect :lol: It has been tested with up to 8 GPUs (more or less the limit for today PCs).

To recap:

- for CPU-only and Hybrid: buy the fastest CPU you can and an half decent GPU. Hybrid is like CPU-only with a the little bonus that you can use the GPU too but it can provide only a 100% speed up in the best case scenario but usually is a 25%-50%.

- for GPU-only: buy as many high-end GPUs as you can with an half decent CPU. If you want an idea of how much GPU rendering can be faster, look at the beginning of this video: https://www.youtube.com/watch?v=JrvyjqYX6o8
User avatar
Dade
Developer
 
Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: State of the Code: CPU/Hybrid/GPU Modes & impact on HW

Postby SATtva » Tue Dec 03, 2013 9:44 am

Dade wrote:For the high-end segment, Intel wins, no match, AMD can not reach that kind of performance. For the middle-end, where Intel offers faster single core performance and AMD offers more cores, it is a matter of performance/price ratio. It is hard to say, probably it is a tie.

Mid-to-high segment AMD systems are notably cheaper overall (taking MB into account), however this is compensated by a higher power consumption compared to Intel ones of the same performance. Thus in the long run Intel system could be more viable from the TCO standpoint (i don't have any figures to back up or dismiss this though).

Dade wrote:With today 3-4GB cards, you should be able to render anything you want. With 2GB, you may have some limit.

There is an important caveat though that the GPU driver won't allow to occupy the whole GPU memory -- this is crucial for system stability (however the default limit is too conservative IIRC) as GPU memory doesn't know about swapping.
Linux builds packager
聞くのは一時の恥、聞かぬのは一生の恥
User avatar
SATtva
Developer
 
Posts: 7164
Joined: Tue Apr 07, 2009 12:19 pm
Location: from Siberia with love

Re: State of the Code: CPU/Hybrid/GPU Modes & impact on HW

Postby whorfin » Tue Dec 03, 2013 9:41 pm

Dade & SATtva,

Thank you both for responding, so well and and so promptly.

Dade wrote:They are not buggy (for what we know) but they support only a subset of the features of CPU-only code. Hybrid is also pretty near to support all features of the CPU-only code, it is something like the 99% of feature set. Hybrid major limitation is in the support of triangle/quad-only meshes (but this isn't usually a big deal). GPU-only code instead supports something like 40% of the features but, indeed, the gap is reduced by the porting effort going on.


No offense meant (BTW), I was just struggling for the right word that would go together with the instability I had noticed in some of the old posts. I had hoped -- but couldn't assume -- that stability was now good. You also addressed another question of mine: which features are missing from Hybrid and GPU mode? Is there a comprehensive list somewhere of what is missing (i.e., mainly from GPU mode)? Or is it a frequently changing situation? I gather efforts are being made to put more features back into GPU mode as things are being re-coded to be more purely OpenCL (or am I getting the different programs confused)?

Dade wrote:20GB are a lot of ram for the average models, this figure probably include to run Daz/Poser and LuxRender at the same time (this double the ram requirements). Hybrid can have some higher than usual memory requirement due to the way it works but it is a constant cost, it doesn't scale with the complexity of the scene and can be kept under control with some parameter tuning.
With GPU-only rendering, you have to store everything in the GPU ram so it is the amount of memory of the card that matter, not of the CPU. 3-6GB for today average high-end GPUs. Keep in mind, scene GPU representation is a bit more compact than CPU because it needs to store only the information for the ongoing rendering.


Yeah, it didn't make much sense to me that the code could run in 3-6GB (probably with scaled down textures) but blew up completely in RAM to 20-32GB (though depending upon what is in the scene, I suppose anything is possible). Ideally this part of my workflow would be DAZ -> Reality -> Luxrender: would they all have to be open at once, or just the last two? I think Reality saves scenes as Luxrender readable files, which would leave only Luxrender needed at any particular time, if I understand things right.

Dade wrote:Try GPU-only rendering before to make any choose. It is so much faster that may be worth to accept all the limitations.
[...]
- for CPU-only and Hybrid: buy the fastest CPU you can and an half decent GPU. Hybrid is like CPU-only with a the little bonus that you can use the GPU too but it can provide only a 100% speed up in the best case scenario but usually is a 25%-50%.

- for GPU-only: buy as many high-end GPUs as you can with an half decent CPU.


My hope would be to render as much as possible in GPU mode, but depending upon lack of feature support (which being new at this makes it doubly nebulous for me, as I really don't understand which features are important or not yet) or lack of VRAM (3-4GB is likely to be my max per card) I would like to have a fall-back position, which would be Hybrid and/or CPU mode. I've been working towards making the jump to GPU rendering for awhile now, and the thought has occurred to me that even people who use some other 3rd party GPU-Only renderer would need some sort of fall-back plan (when GPU only doesn't get the job done), and that's not something I've run across being discussed. If "Plan A" is using systems designed for GPU rendering (with many GPUs per system) what is my Plan B? "Plan B" seems to be additional systems designed with powerful CPUs but less GPUs, or less powerful GPUs. The middle course ("Plan C"?) would be to have systems that can be overclocked (within reason) to be more powerful at CPU operations while leaving several of their GPUs idle, which with the current generation of GPU's power management at last seems plausible (Hmmm... perhaps I will have to invest in water-cooling after all...). The downside to "C" is that the rate of frame production will fall during Hybrid runs (which I guess begs the question of the current typical frame rates for each mode), "B" costs more money for equipment and electricity, and "A" by itself means that (besides under-utilizing CPU and perhaps RAM) either production halts or compromises are made. With all the plans, some piece of hardware (CPU, GPU, RAM) gets underutilized at some point, I guess its just a question of what and when.

Dade wrote:But OpenCL code, when compiled, will take advantage of AVX instructions where available. Anyway, AVX does a very little difference at the moment and SSE is supported by everyone so you can safely ignore special instruction sets.


Thank your for clarifying that, I had found somewhere in reading the various forums that they were ignored completely, which at the time may have been true, I suppose. It would be nice to have some numbers on the performance impact someday, but that's good enough for me. Is AVX2 planned for inclusion, and if so I assume its merely another small boost? Is there a minimum SSE set, or do they cumulatively made small improvements in speed?

Dade wrote:Yes, it stores only geometry. It is something like 10 millions of triangles for each GB of GPU ram (but remember that the OS needs some memory for itself and other applications). With today 3-4GB cards, you should be able to render anything you want. With 2GB, you may have some limit.


Regarding the systems for my "Plan B", I have considered using less than top-of-the-line GPUs, the primary advantages being less expense, less heat, and perhaps a bit more power efficiency. I had looked at the 7870 and 7850, but they are a bit less efficient, though still tempting. There is also the 7790, which in some reviews was running quite well, used less power, but normally only has 1GB VRAM (the 2GB models come with a hefty premium, but perhaps a cost-benefit analysis of power consumption to Luxrender performance would make it reasonable over time). I take it that quite a bit of VRAM is taken up by geometry with DAZ/Poser type content? I suppose the scenes most likely to be rendered in Hybrid would have more complex content (since, in this case, the "Plan A" 3-4GB VRAM systems were likely insufficient for GPU-only mode, hence the switch to Hybrid), does that sound like it could be managed in 1GB (obviously trial and error are the only true test) or is this just a pipe-dream? I suppose reducing model complexity might be the "patch" in this case.

Dade wrote:Hybrid requires a balanced system. To keep 2xHD7970 busy you need i7 with 32 cores and clocked at 20GHz ;) This is the point in all this GPU-thing: they are insanely fast (and cheap when compared to CPUs). To give you an idea, my i7-3930K@4.5GHz is barely able to produce a 60-70% load on a single HD7970.
[...]
Hybrid scales well for today number of CPU cores but it is terrible with the number of GPUs (don't buy more than one GPU for hybrid).


So the new 290 & 290X would probably get close to 100% utilization, perhaps. It sounds like three 7790, 7850 or 6970 should pretty much do the same, and two of them might fully load a quad core i7 similarly overclocked. Does anyone have any experience with this type of madness???

Dade wrote:CPU doesn't matter for GPU-only mode, or better it is just another OpenCL computational device that can be used but it will not affect the performance of OpenCL GPU device.


They can be used simultaneously? Actually, this leads to another question, are all OpenCL devices equal in the results they produce? I've seen comparisons of the two major video card brands with one producing "better" results in Luxrender. Was this merely a matter of render time (as I know one brand could use some work on its OpenCL support)? In the old days there were warnings of different results with different brands of CPU, is Luxrender output truly device independent? Will AMD CPU, Intel CPU(/GPU?), Nvidia GPU and AMD GPU produced frames look identical if given time for an equal amount of rendering?

Dade wrote:You can pretty much ignore all of them, they have a very little impact. Network rendering may be a bit influenced but I don't know if it is part of your plan or not.


Presently the plan consists of 4 i7's, 1 i5, and 1 i7-ish Xeon hopefully networked together ("Plan C", so to speak), and most likely a house on fire from charred electrical wiring. Seriously, wiring, cooling, and electric bills are my main concerns with my "plan" such as it is.

Dade wrote:OpenCL is plain perfect :lol: It has been tested with up to 8 GPUs (more or less the limit for today PCs).


Yes, I've been working on that. For normal PCs 7-9 is the limit, depending upon what devices are turned off in the BIOS. However, I'm not sure its the limit for non-GPU devices (Teslas, for example), as they shouldn't take up the video memory that GPUs do (which creates the limit in the first place, when the system runs out of memory it can address for them). I'm also not sure if all servers are limited either, as in theory all that's needed is a 64bit BIOs. And I'm still puzzled why EFI based systems aren't equally freed of this limit, their HDD sizes certainly are.

SATtva wrote:Mid-to-high segment AMD systems are notably cheaper overall (taking MB into account), however this is compensated by a higher power consumption compared to Intel ones of the same performance. Thus in the long run Intel system could be more viable from the TCO standpoint (i don't have any figures to back up or dismiss this though).


AMD's strategy to use more lower-per-core performing CPUs has seemed to work particularly well in the server realm. They tend to loose steam at the Supercomputer level (at least these days) but for many core systems they do have considerable power, but I agree that power consumption may be an issue (not up on that) and it seems to me that eventually the cost of all those sockets tends to catch up (even in the cost of the motherboard).

SATtva wrote:There is an important caveat though that the GPU driver won't allow to occupy the whole GPU memory -- this is crucial for system stability (however the default limit is too conservative IIRC) as GPU memory doesn't know about swapping.


Could you expand on this. Are you saying that 1GB cards would be even more limited than 2GB, which would be more limited than 3GB (etc.) due to the swapping issue. How does this effect stability?
whorfin
 
Posts: 2
Joined: Tue Oct 08, 2013 6:17 pm

Re: State of the Code: CPU/Hybrid/GPU Modes & impact on HW

Postby SATtva » Wed Dec 04, 2013 12:35 am

whorfin wrote:Is there a comprehensive list somewhere of what is missing (i.e., mainly from GPU mode)? Or is it a frequently changing situation?

Mostly the latter. At the moment the major differences are: no spectral rendering (as a result no fancy fresnel/emission/spectral textures are supported), no Blender procedural textures, no volume system (absorption/scattering support, however Dade is going to work on this front soon), no microdisplacement, no advanced integrators (Bidir, SPPM, VCM) for complicated light scenarios. Environment and ortho cameras, some tonemappers, a few materials (e.g. cloth, carpaint, glossy coating, etc) are still missing too. Hopefully i haven't missed anything big. See this bugtracker issue for more details: http://www.luxrender.net/mantis/view.php?id=1445

I gather efforts are being made to put more features back into GPU mode as things are being re-coded to be more purely OpenCL (or am I getting the different programs confused)?

You're correct, although the primary effort is to port all the current features to the new architecture, and, second, is to make them OpenCL-enabled.

Is there a minimum SSE set, or do they cumulatively made small improvements in speed?

Without SSE2 you won't be able to use fast and efficient QBVH accelerator (which is the default). However you won't even be able to find a modern CPU without SSE3 and above, so don't bother your head with this.

I suppose the scenes most likely to be rendered in Hybrid would have more complex content (since, in this case, the "Plan A" 3-4GB VRAM systems were likely insufficient for GPU-only mode, hence the switch to Hybrid), does that sound like it could be managed in 1GB (obviously trial and error are the only true test) or is this just a pipe-dream? I suppose reducing model complexity might be the "patch" in this case.

As i noted above, GPU driver reserves A LOT of VRAM for the system needs, making it inaccessible for OpenCL applications (Hybrid mode rendering included). Although this limit can be tweaked (at least in Linux, don't know about Windows, but likely to be the same), 1 GB is still quite low for system stability and rendering a huge scene (what is a common type of DAZ scene) at the same time.

So the new 290 & 290X would probably get close to 100% utilization, perhaps. It sounds like three 7790, 7850 or 6970 should pretty much do the same, and two of them might fully load a quad core i7 similarly overclocked. Does anyone have any experience with this type of madness???

One of my systems is a hex core AMD Phenom II @ 4 GHz with AMD 6950 which it struggles to keep under full load in most of the scenes. So i pretty much guarantee that a quad core CPU could barely keep up even with a single 6970 in Hybrid mode.

They can be used simultaneously?

In pure OpenCL rendering (not Hybrid mode) every CPU, GPU, computation co-processor (e.g. Intel Phi) is just an abstract computation device, and all of them are used concurrently at the same time.

Actually, this leads to another question, are all OpenCL devices equal in the results they produce?

Of course. Discrepancies in the output could be only a result of a serious OpenCL driver bug.

Will AMD CPU, Intel CPU(/GPU?), Nvidia GPU and AMD GPU produced frames look identical if given time for an equal amount of rendering?

They should be mathematically identical from the image result standpoint. Of course, all of them have different computational power, so the rendering on each of them will take a different amount of time.

Could you expand on this. Are you saying that 1GB cards would be even more limited than 2GB, which would be more limited than 3GB (etc.) due to the swapping issue. How does this effect stability?

As GPU's primary role is to produce display output from the OS, and to produce that output it needs to store some data from the OS and applications (some buffers, maps, data for OpenGL viewport rendering), it cannot allow to use all of its memory for computational purposes, so the driver only allows to use a fraction of VRAM for GPGPU tasks (25% if i remember correctly and this hasn't changed in the current drivers). On AMD GPUs this limit is tweakable using GPU_MAX_HEAP_SIZE environment variable, however raising it too high will lead to a system dead hanging or crash if GPGPU application will try to allocate more than is physically available because, as opposed to system RAM, video memory pages cannot be swapped to the HDD. There are also other limitations due to memory fragmentation, and so on, that's why 1 GB could be quite limiting even for Hybrid rendering.
Linux builds packager
聞くのは一時の恥、聞かぬのは一生の恥
User avatar
SATtva
Developer
 
Posts: 7164
Joined: Tue Apr 07, 2009 12:19 pm
Location: from Siberia with love

Re: State of the Code: CPU/Hybrid/GPU Modes & impact on HW

Postby Dade » Wed Dec 04, 2013 5:03 am

whorfin wrote:Yeah, it didn't make much sense to me that the code could run in 3-6GB (probably with scaled down textures) but blew up completely in RAM to 20-32GB (though depending upon what is in the scene, I suppose anything is possible). Ideally this part of my workflow would be DAZ -> Reality -> Luxrender: would they all have to be open at once, or just the last two? I think Reality saves scenes as Luxrender readable files, which would leave only Luxrender needed at any particular time, if I understand things right.


Some artist uses a workflow that allow them to not render the complete scene during the development. I mean, I don't know DAZ but there usually features like layers, proxy objects, etc. allowing to export only a small fraction of the scene to LuxRender while developing the models/materials. LuxRender can than run alone for the final rendering. So you don't really need to double the amount of ram used.

Indeed, it is a kind of workflow that requires more time, being able to use both DAZ and LuxRender at the same time with the complete scene is easier.

whorfin wrote:Regarding the systems for my "Plan B", I have considered using less than top-of-the-line GPUs, the primary advantages being less expense, less heat, and perhaps a bit more power efficiency. I had looked at the 7870 and 7850, but they are a bit less efficient, though still tempting. There is also the 7790, which in some reviews was running quite well, used less power, but normally only has 1GB VRAM (the 2GB models come with a hefty premium, but perhaps a cost-benefit analysis of power consumption to Luxrender performance would make it reasonable over time). I take it that quite a bit of VRAM is taken up by geometry with DAZ/Poser type content? I suppose the scenes most likely to be rendered in Hybrid would have more complex content (since, in this case, the "Plan A" 3-4GB VRAM systems were likely insufficient for GPU-only mode, hence the switch to Hybrid), does that sound like it could be managed in 1GB (obviously trial and error are the only true test) or is this just a pipe-dream? I suppose reducing model complexity might be the "patch" in this case.


I would avoid to below the level of the 7850. GPU computing is still a matter mostly for medium/high-end GPUs. You probably need a balanced system with a CPU and GPU of the same cost/level.

About vendor performances, at the moment, NVIDIA pushes CUDA over OpenCL. The end result is that NVIDIA OpenCL driver is quite slow and OpenCL code runs a lot faster on AMD GPUs of the same level/price.
User avatar
Dade
Developer
 
Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: State of the Code: CPU/Hybrid/GPU Modes & impact on HW

Postby nou » Thu Dec 05, 2013 3:39 pm

there can be some differences beween CPU and GPU as we are operating with float numbers which introduces some roundind errors. this rounding errors can lead to different results depending how the compiler order the instructions. but that affect mainly numericaly unstable algoritms.
nou
 
Posts: 209
Joined: Mon Feb 01, 2010 6:32 am

Re: State of the Code: CPU/Hybrid/GPU Modes & impact on HW

Postby craigar » Fri Jun 20, 2014 6:47 pm

Dade, thank you for the explanation of different modes & GPU /CPU pros & cons - this is the first time I actually read something (about 5 times) that helped me understand the "give and take.." I am experiencing trying these many renderers!

I am SO GRATEFUL I didn't crawl back into my corner, because now I am seeing glimpses of how incredible these renderers are and how the work pretty nice with Blender (which seems pretty kludgy for integrating outside renderer node systems) - and the renderings are much closer to what I see in my imagination, especially now that I am adjusting the colors to much lower values
i7 2600 @ 3.4ghz, 12gb ram, Win 7 Home premium 64-bit, nVidia GTX 500Ti
... May contain nuts, and traces of rays ...
 
craigar
 
Posts: 12
Joined: Sun May 11, 2014 5:54 pm


Return to GPU Acceleration

Who is online

Users browsing this forum: No registered users and 2 guests