0

use of -tthreads, -wthreads, -exrcpus arguments

I am looking for the ability to control the number of threads and rvio session uses.

Currently if I launch a process, rvio will consume what it determines is available.

But, I would like some control over this as not to conflict with other tasks running.

How should I use:

-tthreads

-wthreads

-exrcpus

Say I have, 4, 6, 16, 32, 64 how should I distribute them?

 

 

 

1 comment

  • 0
    Avatar
    Alan Trombla

    Hi Robert,

    First, the -exrcpus option obviously only has an effect if you are doing exr IO.  The default is for the OpenEXR library to make it's own determination of how many threads to use.  The exr threads number is "global" (IE unrelated to the number of read threads or write threads).  These threads are used only for EXR encoding/decoding and IO.

    The -rthread ("read threads") option sets the number of threads rvio will use to read input sources.  This is the number of simultaneous frames RV will try to read (note that the rthreads do both IO and - generally speaking - decompression).  The default is single-threaded operation.

    The -wthreads ("write threads") option sets the number of simultaneous frames rvio will try to write.  The default is to use the same number of wthreads as rthreads.

    Both reading and writing may revert to single-threaded operation if the codec or file format involved cannot support multithreaded access.

    As to what balance you want to have, it's unfortunately impossible to say.  It depends very much on the speed/latency of the IO subsystem since rvio threads generally spend a lot of time blocked waiting for IO request completion.  The right balance generally has to be determined by trial and error.

    Hope that helps,

    Alan

Please sign in to leave a comment.