Jump to: Board index » General » Fusion

Not using all cores

Learn about 3D compositing, animation, broadcast design and VFX workflows.
  • Author
  • Message
Offline

pete_stopniak

  • Posts: 2
  • Joined: Fri Apr 24, 2015 3:29 am

Not using all cores

PostFri Apr 24, 2015 5:24 am

Hi All,

[first time poster]


Fusion's not using all the cores when final rendering.
(I have 16 without HT / 64gig, Win 7 pro, Fusion Version: 7.7.1 build 0 Built: Mar 17 2015, 13:33:12).

I tried turning up 'render frames simultaneously' but not much change. Maxing out at around 50% cpu.

Is this normal? Is it using more GPU?

Any feedback much appreciated.

Cheers,
Pete Stopniak.
Offline
User avatar

Chad Capeland

  • Posts: 3017
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: Not using all cores

PostFri Apr 24, 2015 8:50 pm

It could be a lot of things. You might have an I/O bottleneck, either on loading or saving, or you might have a GPU bottleneck from OpenGL or OpenCL, or you might have a memory bottleneck, indeed, I've made comps where the tools were so fast that moving the images in and out of RAM was actually the bottleneck.

If you turn on Full Tile Render Indicators you might be able to see where the bottleneck is. If you can identify it, we might be able to help you alleviate it.
Last edited by Chad Capeland on Mon Apr 27, 2015 5:51 pm, edited 1 time in total.
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

Hideki Inoue

  • Posts: 209
  • Joined: Sun Nov 23, 2014 8:26 am
  • Location: Tokyo, Japan

Re: Not using all cores

PostMon Apr 27, 2015 2:50 am

I have 12 cores. CPU usage is around 50% too.

I think Fusion calculates each node in order. All nodes can't be calculate at one time. So Many node will make many bottleneck. Fusion support multi CPUs or threads, but it can't use many cores in our general work.
The design of Fusion is the age of multiple CPU, not many cores. About 6~8 core might limit?

And Fusion's I/O is very slow. It is not for recent I/O speed.

Open CL (GPU) is faster than CPU. But support nodes is less.
Fusion Studio v18.6.4 / DeckLink Mini Monitor 4K
Intel® Core™ i9-13900KS / 128GB RAM / Nvidia Geforce RTX 4090 (546.33) / Windows 10 Pro 22H2
Intel® Core™ i9-7980XE / 128GB RAM / Nvidia RTX A5000 (536.67) / Windows 10 Pro 22H2
Offline
User avatar

Chad Capeland

  • Posts: 3017
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: Not using all cores

PostMon Apr 27, 2015 5:51 pm

I've got an i7-4930K. I can hit 99% utilization no problem. If I have a tool in the viewer, though, the time needed to convert the image to a texture via the GPU driver every time there is an update means that the computer is constantly switching from render to update and back. For tools that render fast (BC) this means a LOT of time is spent on the viewer update. For tools that render slow (VBl) you basically see it at 99% for a long time and then it dropping into the teens for the update.

Anything with a preview control visible is also going to slow things down, and if you have subV's on, then that will also slow you down. It's time spent doing things to get the update to the viewer and time NOT spent working on the next render.

Bear in mind as well that if you have any thermal throttling going on, the task manager will still show you usage compared to the TDP max speed, so if you are cut down on clock speed, the utilization will not reach as high.
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline
User avatar

Michael Wolf

  • Posts: 45
  • Joined: Tue Nov 11, 2014 10:32 am
  • Location: Stuttgart, Germany

Re: Not using all cores

PostTue Apr 28, 2015 1:11 am

I've also seen bad CPU utilisation on my 16 core / 32HT machine (128GB of RAM) - even if I ramp up the number of simultaneous frames. On a simple 4 core / 8HT machine overall CPU usage seems a lot better.

It's certainly not i/o given the network utilisation (which in my cases is mostly writing finished frames, since I do a lot of motion graphics with stills). What I find is that flattening transforms (if feasible) seems to make a huge difference.

Come to think of it, is there an e-mail adress to send bugs to, since I noticed that the bug report menu is gone. I might find the time to set up a few examples.

Cheers,
Mike
Michael Wolf - db&w GbR
http://www.db-w.com
Offline
User avatar

Chad Capeland

  • Posts: 3017
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: Not using all cores

PostTue Apr 28, 2015 12:50 pm

That's odd since flattening transforms requires you to render the full image and pass it along to the next tool as opposed to just sending the transform. So flattening should make it slower, though you might have additional "infinite canvas" DoD-related renders to make up for.

Do a little test... This is just a Plasma and VariBlur...

Code: Select all
{
   Tools = ordered() {
      Plasma1 = Plasma {
         Inputs = {
            Width = Input { Value = 4096, },
            Height = Input { Value = 4096, },
            Depth = Input { Value = 4, },
            Scale = Input { Value = 3, },
            Circle1Center = Input { Value = { 0.46679819417089, 0.570054960611562, }, },
            Circle2Center = Input { Value = { 0.68027397260274, 0.639072164948454, }, },
            Circle3Center = Input { Value = { 0.687123287671233, 0.278453608247423, }, },
            Circle4Center = Input { Value = { 0.364246575342466, 0.220034364261168, }, },
         },
         ViewInfo = OperatorInfo { Pos = { 440, 247.5, }, },
      },
      VariBlur1 = VariBlur {
         CtrlWZoom = false,
         Inputs = {
            Method = Input { Value = 2, },
            Quality = Input { Value = 10, },
            BlurChannel = Input { Value = 4, },
            XBlurSize = Input { Value = 500, },
            Input = Input {
               SourceOp = "Plasma1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 660, 247.5, }, },
      },
   },
   ActiveTool = "VariBlur1",
}


Viewing the VariBlur, I get 99% utilization. If your dual-proc system doesn't hit that, try branching off a second VariBlur and combining them with a Dissolve and see if the simultaneous branching causes both VariBlurs to render at the same time and if that increases the utilization.

- Chad
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

Ryan Bloomer

  • Posts: 765
  • Joined: Tue Jul 09, 2013 6:58 pm

Re: Not using all cores

PostTue Apr 28, 2015 4:50 pm

Hey Chad,

I tested the example flow you provided and I range between 50-87% CPU usage on all 28cores of a dual 14core xeon E5-2697 v3. Just thought I'd throw in my results if it helps.
Offline
User avatar

Chad Capeland

  • Posts: 3017
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: Not using all cores

PostTue Apr 28, 2015 5:31 pm

Ryan Bloomer wrote:Hey Chad,

I tested the example flow you provided and I range between 50-87% CPU usage on all 28cores of a dual 14core xeon E5-2697 v3. Just thought I'd throw in my results if it helps.


Cool. While the VariBlur was processing, did it sit on the 50 or 87 or did it move between them?

Do you have any other apps that are able to push it to 100%? Like Mental Ray or something?
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline
User avatar

Michael Wolf

  • Posts: 45
  • Joined: Tue Nov 11, 2014 10:32 am
  • Location: Stuttgart, Germany

Re: Not using all cores

PostTue Apr 28, 2015 7:52 pm

Chad Capeland wrote:Do you have any other apps that are able to push it to 100%? Like Mental Ray or something?

I haven't tested your flow yet, but the LW renderer as well as Modo easily push to 100% on 32 threads on my box.

Cheers,
Mike
Michael Wolf - db&w GbR
http://www.db-w.com
Offline

Ryan Bloomer

  • Posts: 765
  • Joined: Tue Jul 09, 2013 6:58 pm

Re: Not using all cores

PostTue Apr 28, 2015 9:09 pm

Cool. While the VariBlur was processing, did it sit on the 50 or 87 or did it move between them?

Do you have any other apps that are able to push it to 100%? Like Mental Ray or something?


After closer inspection, and closing all apps and clearing all Fusion Cache. The example flow will ping all processors to 100% it ramps up and just barley hits 100% before finishing.

I have a few computers ranging from dual Xeon, single Xeon, and overclocked i7's if there are other comps you'd want me to test, I'm happy to help out.
Offline
User avatar

Chad Capeland

  • Posts: 3017
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: Not using all cores

PostTue Apr 28, 2015 10:46 pm

Ryan Bloomer wrote:I have a few computers ranging from dual Xeon, single Xeon, and overclocked i7's if there are other comps you'd want me to test, I'm happy to help out.


Well, if it hits ~100% when there's something to actually DO for the CPU, then yeah, everything is working normally.

There are some things that will be bottlenecks, as I mentioned, but at least it CAN hit 100% if those bottlenecks are removed. The trick is to find and minimize those bottlenecks. Some are easy, but others not so much. Like there's 0% chance that BMD can do anything about the speed things executed from the GPU drivers. That means things like image uploads, OCL compiles, or OGL (Cg) compiles. Can BMD make Gridwarp faster? I hope so. Are there things that the user can do to make things more efficient? Sure, like not putting anything in the viewer when they render. Or not leaving SubV's active. There's other optimizations that aren't so easy too, but they have to do with how you manage your comp, so are hard to demonstrate and apply easily.
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline
User avatar

Michael Wolf

  • Posts: 45
  • Joined: Tue Nov 11, 2014 10:32 am
  • Location: Stuttgart, Germany

Re: Not using all cores

PostTue Apr 28, 2015 11:25 pm

Chad Capeland wrote:That's odd since flattening transforms requires you to render the full image and pass it along to the next tool as opposed to just sending the transform. So flattening should make it slower, though you might have additional "infinite canvas" DoD-related renders to make up for.

It surprised me as well. Maybe it allows the cache to be more effective in places though. I really don't know - all I do know is that a 100% CPU utilisation is rare enough on many of my comps - and that includes optimising them and ruling out the obvious reasons (such as i/o).

Cheers,
Mike
Michael Wolf - db&w GbR
http://www.db-w.com
Offline

Ryan Bloomer

  • Posts: 765
  • Joined: Tue Jul 09, 2013 6:58 pm

Re: Not using all cores

PostWed Apr 29, 2015 2:28 pm

It would be nice to have documentation on best practices for speeding up preview, speeding up renders, etc. I always have thought having faster interactive rendering is more beneficial than faster final render, so having something documented that could help with that would be really beneficial, especially people moving from other packages.

I have comps that only utilize about 40% of my cores when previewing in the time line, and about 60% when using network rendering. When I'm previewing in the timeline all assets are on an SSD RAID an when I look at the task manager when trying to playback, it shows that Fusion isn't using any resources on the disk I/O, even though when I move the footage in a loader to a slower drive or array, the comp slows down as should be expected. Maybe while previewing I should disk cache branches to jpegs so the loaders I/O is quicker and disable the cache's when I need to kick it off to the render farm. Still exploring the sweet spot for speed and getting comps to use the most amount of CPU
Offline
User avatar

Philipp Walz

  • Posts: 370
  • Joined: Fri Apr 25, 2014 12:41 pm
  • Location: Borkwalde - Germany

Re: Not using all cores

PostThu Oct 14, 2021 9:58 am

I'm not a developer and I have absolutely no clue how Fusions engine actually works but I always compare it to Apple Motion when doing basic compositing stuff.
When you throw a 4K Clip (ProRes in this case) at Motion it plays instantly, no caching required. No matter what length. But Fusion always fills up all my memory for just watching the loader smoothly.
Even basic stuff in Motion like color correction, curves and blurs are in real time and the quality is very good.

I'm on a Mac Pro 2013 12 Core D700 with 64 GB of RAM and I always ask myself why Fusion isn't able to play back a loader instantly. And why is it ME who has to fiddle around with Fusions render and memory settings to work flawlessly? Isn't there a way to code Fusion in a way it always works as fast as it can no matter the settings?
Maybe the code base is too old...

Just my opinion.
Pete
Offline
User avatar

Chad Capeland

  • Posts: 3017
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: Not using all cores

PostThu Oct 14, 2021 7:28 pm

Philipp Walz wrote:Isn't there a way to code Fusion in a way it always works as fast as it can no matter the settings?


No, unless you want to make the software very restrictive.

Like you could make it much faster, but it would suck more. The end user can ALWAYS make their computers faster, and thus make rendering faster. But they have very little ability to make the software suck less.

If you want renders that are fast and restrictive, you can just use the Color tab.
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

Mario Kalogjera

  • Posts: 1201
  • Joined: Sat Oct 31, 2015 8:44 pm

Re: Not using all cores

PostMon Oct 18, 2021 7:28 pm

Of course, with After effects you can't play an imported image sequence at full framerate right away, either. It also needs to build the frame sequence into RAM. Also, I have never seen After Effects go much over 50% CPU usage. With Fusion, at least you can set multiple frames and different branches to be rendered simultaneously, and you do get 100% CPU usage at times, while they removed this option from After Effects a long time ago and maintain that AE is fully multithreaded.

Of course, After Effects is basically an old horse as well that is artificially kept alive...
Asus Prime X370-Pro+R7 3700X@PBO+32 GB G.Skill AEGIS DDR-4@3200MHz
Sapphire RX6700 10GB
Adata A400 120GB System,A2000 500GB Scratch SSDs
Media storage:"Always in motion is it"
BMD Mini Monitor 4K
Windows 11 Pro+Resolve Studio 18+Fusion Studio 18
Offline

Hendrik Proosa

  • Posts: 3015
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: Not using all cores

PostMon Oct 18, 2021 7:42 pm

Mario Kalogjera wrote:Of course, After Effects is basically an old horse as well that is artificially kept alive...

All comp apps are like this, with their roots in 80s or early 90s. It is about time someone wrote a modern comp app from scratch but it is easier said than done.
I do stuff.
Offline

Mario Kalogjera

  • Posts: 1201
  • Joined: Sat Oct 31, 2015 8:44 pm

Re: Not using all cores

PostMon Oct 18, 2021 10:46 pm

Hendrik Proosa wrote:
Mario Kalogjera wrote:Of course, After Effects is basically an old horse as well that is artificially kept alive...

All comp apps are like this, with their roots in 80s or early 90s. It is about time someone wrote a modern comp app from scratch but it is easier said than done.


Yep. Just like Alien, you don't dare kill it. :mrgreen:
Asus Prime X370-Pro+R7 3700X@PBO+32 GB G.Skill AEGIS DDR-4@3200MHz
Sapphire RX6700 10GB
Adata A400 120GB System,A2000 500GB Scratch SSDs
Media storage:"Always in motion is it"
BMD Mini Monitor 4K
Windows 11 Pro+Resolve Studio 18+Fusion Studio 18

Return to Fusion

Who is online

Users browsing this forum: No registered users and 50 guests