Workbench Command is a set of command-line tools that can be used to perform simple and complex operations within Connectome Workbench.
Many processing commands make use of multithreading so that scripts can finish more quickly. By default, these commands will use all available cores on the system. Because we use OpenMP for the parallelization, this behavior can be controlled through various environment variables. In particular, 'OMP_NUM_THREADS' will set the maximum number of threads it will use, when exported as an environment variable. Additionally, some shells, such as bash, have syntax that allows you to set an environment variable for a single command or script, for instance: $ OMP_NUM_THREADS=4 wb_command -volume-smoothing input.nii.gz 4 output.nii.gz If you have a multi-socket system, be aware that the parallelization can be much slower when threads are on different sockets, and this interacts badly with the default behavior of using all available cores. It is advisable to use other tools to restrict the entire script to execute on a single socket, especially if a queueing system is involved. Also note that wb_view contains a few features that use multithreading (dynamic connectivity, border optimize), which can be controlled by setting the same environment variables before launching wb_view.