Multiprocessor and Rad

Hello,
I have several views (6) I would like to process at one time through simple command: rad myRif.rif using several cores (16).
I made a try using -n in the render options of the .rif file but got an error concerning the -n command (command line error).
I have read one should use the -N rad option instead : rad -N myRif.rif

Would this be correct? I made a try but had the impression that only few processors were active in the process (7 out of 16).
Thank you for your help!

Hi Danilo, you have to set the number if parallel processes (e.g. 16) that you want to start as a parameter. Please refer to the manpage for details. Best, Lars.

Hi Lars,
Thank you for your help. I have used rad -N 16 in my case but have noticed that only 7 out of 16 cores were in use. Do you have any idea?

Best,
D

Hi Danilo,

If you have multiple view in your rif file, the -N option uses one processor per view (up to the number of views in the file) to render one image at a time, you need to additionally specify a view:

rad -N 16 -v viewname myrif.rif

where viewname is specified in your rif file with a line like:

view= viewname -vf path/to/viewfile.vf

or:

view= viewname -vt.... rest of view parameters

hope that clears it u for you!

-Stephen

Hi @Stephen_Wasilewski,
Crystal clear! Great, thank you!

Hi Danilo,

ok, sorry just got what happened… rad -N will render all views
in parallel (one process per view), if multiple views are defined. In
your case, that is six rendering processes, one for each view, plus one
control process. If only one view is defined, it will split the view
into tiles (internally by calling rpiece) and render the tiles in parallel.

So if you want to use all cores, and if you have more cores than views
to render, you should render only one view at a time calling

rad -N -v

This will render only one view, but split the task (internally it calls
rpiece) so that all cores will share the load. So you would call rad
sequentially, e.g. by looping over a list of views. In bash (untested):

for view in “top” “left” “right” “front” “back”; do rad -N 16 -v $view
render.rif; done

This assumes that the given, named views are defined in a control-file
render.rif. And obviously all this makes sense only if it takes a
significant time to complete one view…

Best, Lars.

Hi Lars,
Great! This clarifies why seven cores were running instead of 16. I will try the script! Thank you!