Why doesn't Blender 2.5.7 use all of my CPUs? (for rendering)

Hi All,

I am rendering on a 16 core Mac, but Blender 2.5.7 does not use all of my CPUs.

Is there some trick to making Blender use all my CPUs for rendering?:spin:

You got to change the source and recompile. Blender is locked to 8 cores - no idea why.


./source/blender/blenlib/BLI_threads.h:39:#define BLENDER_MAX_THREADS        8
./source/blender/blenlib/intern/threads.c:103:#define RE_MAX_THREAD    8

wow, 16 cores… i thought the max these days was 12 O_o

Yeah, but it is not even using 8 cores.

Look at my icon. It is mostly black, it should be half-green.

BTW: After Effects does make the icon go entirely green when it renders.

Attachments


@greg: Intel Nehalem EX is the latest octocore capable architecture. It´s in the Xeon family. The Xeon MP X7560 (3400 Euro a piece) to be exact. Also the X7550 for 2500 Euro and for the small budget the older Xeon E7-4830 for 1700 Euro.

If it´s a real 16 core system - with 2 quadcores with SMTP you´d get 16 threads too.

However.

@atom:

I got no idea what this green bar stuff is supposed to show me.
As there are more than 16 bars, I guess its scrolling the overall load from right to left.
I see 2 peaks almost to 50% which would mean 8 cores out of 16 under full load, or for that matter 16 under 50% load, no idea how OSX handles the thread->cputime distribution.

I have no idea what you´re rendering, animation or a still, occlusion preprocessing, or building datatrees… only the pure raytracing is multicore optimized. So unless you have the workerthreads rendering without any black or “simple” areas in the image, you´ll not see a half green filled quad.

If you want it to be filled fully, you got to recompile.

I have not figured out how to compile Blender, though I have tried a few times.

Is there an official build that uses all the cores?

I just pulled down the latest from graphicall.

I would compile it for you, but I only have it setup to compile Win32/64.
I don´t even know what the IDE of choise would be in OSX. But I guess you can just ask one of the builders from graphicall supplying mac builds to change those 2 constants and recompile it. Should not even take a minute with changes in only 2 files.

I guess the old 2.49 trick works here as well.

I created a couple more copies of 2.5 and launched them for simultaneous rendering across the frame range.

This uses more of the CPUs.

Attachments