Home Technical Talk

CPU midlife crisis what is using all the cores in your pipeline?

Hello people :) dont bite me I am new.

Can you guys point out specific workloads in your 3D asset pipeline that relies heavy on multi core performance? 

Because of the new CPU craze thats going on I was wondering if I should get a CPU with more cores, after rethinking my "pipeline" I really have to say I dont know why I wouldve need more cores. I guess a snappy Viewport in all our 3D software like blender, maya, zrush, Substance D/P, marvelous designer or Unity, UE4 and so on...

The only task I do on my "rendering-server" and not on my main PC, well, is rendering and maybe world machine.. which I use once a month at max.

I have an older i7.. so I dont know sometimes it feels a bit slower but nothing I couldnt work with.. I really dont know if a better CPU would help me. 

help me out spending money and if not spend on a new CPU tell me on what I could spend it :bleep_bloop:

have a nice day



Replies

  • EarthQuake
    Options
    Offline / Send Message
    What are your system specs? CPU model? GPU? How much RAM?

    It really depends on the specific app.

    Things that typically eat a lot of CPU:
    1. Offline, CPU based rendering or baking (Mentalray, xNormal, etc)
    2. Video encoding
    3. Generating simulations

    If you're doing your baking with a  modern, GPU based baker, such as Toolbag, Substance, etc, the GPU will be your bottleneck, not the CPU.

    I'm not sure how CPU reliant Substance Designer / Painter is, a good way to check is to load Windows Task Manager and pay attention to the CPU profiling. If you're not maxing out your cores when using those applications, a CPU with more cores is unlikely to help much.

    I'm not sure about Marvelous Designer, I expect that solving the sims is CPU heavy work, but you can profile that too.

    Zbrush is another one that may make effective use of your CPU. I'm not sure how reliant it is on CPU vs GPU, profiling would make sense here too.

    One thing to keep in mind with CPU performance is that many apps do not multi-thread very well. For instance, Maya's baker (at least in past versions, this might be better now) uses only a single (!) CPU thread. This means that even if you have a 16 core CPU, baking in Maya is really slow. Some other apps can thread well with 2-4 cores, but it's less common that an app can fully use 8-16 cores. When it comes to designing / engineering software, there isn't always an efficient way to split up tasks for that many cores.

    So, it can sometimes make sense to get a CPU with less, but faster cores, rather than many slower cores. AMD's CPUs tend to pack in a lot of relatively slow cores, so they look nice on paper, but you might not take advantage of all those cores most of the time. It's also possible that your current CPU is perfectly capable, and some other aspect of your hardware (or a bottleneck in the software itself) is more of a problem.
  • thomasp
    Options
    Offline / Send Message
    thomasp hero character
    So far I'm only interested in single core performance for the reasons outlined and I have not looked at AMD at all since the Athlon 64.
    ZBrush seems to be the only example of a 3D app in this field where more cores translate to better viewport performance. I have it running noticeably quicker with the same scenes on a six-core 3.5 Ghz Xeon than on my main 4-core 4Ghz 4790k which also has a way faster GPU. There's a benchmark thread on here somewhere that suggests Ryzen CPUs do well with this one.

    Also, judging from reviews posted yesterday and today and by comparing passmark scores it appears that the just released AMD 3900X has finally caught up and offers slightly better single core performance and significantly more cores combined at a comparable price and with less power draw than the best you can get from Intel (9900K and 8086K - in my opinion anyway).

    Interesting times although I think the jury's still out on how well put together and software-supported these AMD systems will be.

  • RyanB
    Options
    Offline / Send Message
    Most software can't take make full use of the CPU because the data is not organized in such a way to make it easy to process.  There's a slow push away from object-oriented programming towards data-driven programming to help solve this problem. 
  • EarthQuake
    Options
    Offline / Send Message
    Yeah so basically, when you perform some function in an app, it has a series of jobs it needs to finish. Let's say an action involves 3 jobs. The program splits these up and sends them to 3 cores. Job 1 and 2 take 2ms to finish and job 3 takes 4ms - core 1 & 2 will be in use for 2ms and will then wait on core 3 to finish job 3. Here, you've got less jobs than cores, so adding more cores won't help. The only thing that would help would be significantly faster cores. Of course, if you're running multiple applications at once, you can generally take advantage of more cores, provided that each app is working on a job and not just sitting idle.

    Most jobs can't be split up an arbitrary number of times. The ones that can, like ray tracing for instance, where you're performing the same task thousands of times, are often better done on the GPU - because doing very many jobs at once is what GPUs do best. So these highly parallel tasks are shifting more towards GPU loads than CPU these days, but there's still a lot of software that does this sort of thing on the CPU, and that's where multi-core CPUs are most beneficial.

    @thomasp yeah that 3900x looks very good indeed.

    As Thomas mentions, passmark has some really good benchmark data:

    Their primary benchmark list is total cpu performance (all cores firing at max load): https://www.cpubenchmark.net/high_end_cpus.html

    So this list is more or less useful depending on how well your apps are optimized for threading.

    This list shows single core performance: https://www.cpubenchmark.net/singleThread.html

    Like Thomas says, AMD's latest Ryzen CPUs have a lot better single core performance than their CPUs historically have. And that 3900x is at or near the top of both charts, at a relatively cheap $500. The Ryzen 5 3600x is another exceptional performer for its price point of $250. Well done AMD.

    Ideally you want very many, very fast cores, but generally this has meant server level CPUs in the $1000-2000 range, which is overkill for most people. So this new AMD 3900x at $500 is rather remarkable and great for anyone who wants a super high end CPU, and the 3600x is a great choice for most people who just need a very good one.
Sign In or Register to comment.