Hi
the inla-program does use openmp automatically, but how it is done
depend on the number of hyperparameters and the size of the problem.
there are empircally strategies for how to do the paraellization
depending on these and by default, the default strategy is used. you
can set inla(...,num.threads=N) to define the max number of threads to
use, but interally, it can set a smaller number if it thinks that it
will run faster.
you can override the 'size' parmeter by
inla(..., control.compute = list(openmp.strategy="huge")
say, which use all paralleism that is available, and the different
options are describe here: (see ?control.compute)
openmp.strategy: The computational strategy to use: 'small', 'medium',
'large', 'huge' and 'default'. The difference is how the
parallelisation is done, and is tuned for 'small'-sized
models, 'medium'-sized models, etc. The default option tries
to make an educated guess, but this allows to overide this
selection. Default is 'default'
for "small" then no paralellism is used, so its increasing with the
size.
the only thing you can do it so test this and what is running better
for you.
Best
H
On Tue, 2016-10-11 at 23:46 -0700,
marcel...@gmail.com wrote:
> Hi INLA team,
>
> Like greg I also wish to parallelise my INLA code as it's running in
> a High Performance Computer. It's set up for shared memory allocation
> on Linux OS.
> I allocate 16 CPU's for the job, but it's only using 4 CPU's. I've
> tried the command below
>
> inla(..., num.threads=N)
>
> and it still only uses the 4 CPU's.
> While the command above is for the maximum number of cores to
> allocate, is there a minimum number of core allocation option?
>
> thanks in advanced
> -marcela
>