The issue replicates on three different HPCs (all with different OS). On all three HPCs, the R-INLA package is (I believe) correctly installed (i.e., when needed I used inla.binary.install(), basic examples from the website and from the doc are working without issues).
I assume this is related to a module I don't load? In the meantime, the rgeneric model seems to have a strange behavior on my windows so I am probably missing something else? Does anyone have any hint about what's going on?
> sessionInfo()R version 4.3.1 (2023-06-16)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux 8.6 (Ootpa)
Matrix products: default
BLAS: /tools/statistics/R/R-4.3.1/lib64/R/lib/libRblas.so
LAPACK: /tools/statistics/R/R-4.3.1/lib64/R/lib/libRlapack.so; LAPACK version 3.11.0
locale:
[1] LC_CTYPE=en_US.utf-8 LC_NUMERIC=C
[3] LC_TIME=en_US.utf-8 LC_COLLATE=en_US.utf-8
[5] LC_MONETARY=en_US.utf-8 LC_MESSAGES=en_US.utf-8
[7] LC_PAPER=en_US.utf-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.utf-8 LC_IDENTIFICATION=C
time zone: Europe/Paris
tzcode source: system (glibc)
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] INLA_23.11.15 sp_2.1-1 Matrix_1.6-2
loaded via a namespace (and not attached):
[1] vctrs_0.6.4 cli_3.6.1 rlang_1.1.2 DBI_1.1.3
[5] KernSmooth_2.23-21 generics_0.1.3 sf_1.0-14 glue_1.6.2
[9] e1071_1.7-13 fansi_1.0.5 grid_4.3.1 classInt_0.4-10
[13] tibble_3.2.1 lifecycle_1.0.3 compiler_4.3.1 fmesher_0.1.4
[17] dplyr_1.1.3 Rcpp_1.0.11 pkgconfig_2.0.3 lattice_0.21-8
[21] R6_2.5.1 tidyselect_1.2.0 class_7.3-22 utf8_1.2.4
[25] pillar_1.9.0 splines_4.3.1 magrittr_2.0.3 withr_2.5.2
[29] tools_4.3.1 proxy_0.4-27 units_0.8-4
##Basic example from R-INLA website: work as expected> n = 100; a = 1; b = 1; tau = 100
> z = rnorm(n)
ta = a +> eta = a + b*z
>
> scale = exp(rnorm(n))
> prec = scale*tau
> y = rnorm(n, mean = eta, sd = 1/sqrt(prec))
>
> data = list(y=y, z=z)
> formula = y ~ 1+z
> result = inla(formula, family = "gaussian", data = data)
>
> summary(result)
Call:
c("inla.core(formula = formula, family = family, contrasts = contrasts,
", " data = data, quantiles = quantiles, E = E, offset = offset, ", "
scale = scale, weights = weights, Ntrials = Ntrials, strata = strata,
", " lp.scale = lp.scale, link.covariates = link.covariates, verbose =
verbose, ", " lincomb = lincomb, selection = selection, control.compute
= control.compute, ", " control.predictor = control.predictor,
control.family = control.family, ", " control.inla = control.inla,
control.fixed = control.fixed, ", " control.mode = control.mode,
control.expert = control.expert, ", " control.hazard = control.hazard,
control.lincomb = control.lincomb, ", " control.update =
control.update, control.lp.scale = control.lp.scale, ", "
control.pardiso = control.pardiso, only.hyperparam = only.hyperparam,
", " inla.call = inla.call, inla.arg = inla.arg, num.threads =
num.threads, ", " keep = keep, working.directory = working.directory,
silent = silent, ", " inla.mode = inla.mode, safe = FALSE, debug =
debug, .parent.frame = .parent.frame)" )
Time used:
Pre = 0.641, Running = 0.728, Post = 0.0149, Total = 1.38
Fixed effects:
mean sd 0.025quant 0.5quant 0.975quant mode kld
(Intercept) 0.990 0.012 0.966 0.990 1.013 0.990 0
z 0.986 0.011 0.964 0.986 1.008 0.986 0
Model hyperparameters:
mean sd 0.025quant 0.5quant
Precision for the Gaussian observations 69.41 9.81 51.53 68.95
0.975quant mode
Precision for the Gaussian observations 89.94 68.02
Marginal log-Likelihood: 51.95
is computed
Posterior summaries for the linear predictor and the fitted values are computed
(Posterior marginals needs also 'control.compute=list(return.marginals.predictor=TRUE)')
##Trying the example for rgeneric from the inla doc: https://inla.r-inla-download.org/r-inla.org/doc/latent/rgeneric-example.R> n = 100
> rho=0.9
> x = arima.sim(n, model = list(ar = rho)) * sqrt(1-rho^2)
+ rnorm(n, sd = 0.1)
model = inla.rgeneric.define(inla.rgeneric.ar1.model, n=n)
formula = y ~ -1 + f(idx, model=model)
r = inla(formula, data = data.frame(y, idx = 1:n), family = "gaussian", verbose=T)> y = x + rnorm(n, sd = 0.1)
> model = inla.rgeneric.define(inla.rgeneric.ar1.model, n=n)
> formula = y ~ -1 + f(idx, model=model)
> r = inla(formula, data = data.frame(y, idx = 1:n), family = "gaussian", verbose=T)
***************************************************************************
CONTAINS Runtime Modules of Parallel Sparse Linear Solver PARDISO Vers. 7.2
CUSTOMIZED FOR THE R-INLA PACKAGE WHICH SOLVES A LARGE CLASS OF STATISTICAL
MODELS USING THE INLA APPROACH.
Copyright Universita della Svizzera italiana 2000-2020 All Rights Reserved.
No PARDISO license file found. Please see `
http://www.pardiso-project.org/r-inlawhere to place the license file pardiso.lic
***************************************************************************
Read ntt 128 1 with max.threads 128
Found num.threads = 128:1 max_threads = 128
152fa37212f19070579d6100b2abd798de69cb49 - Wed Nov 15 21:42:33 2023 +0300
Report bugs to <
he...@r-inla.org>
Set reordering to id=[0] and name=[default]
Process file[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/Model.ini] threads[128] max.threads[128] blas_threads[1] nested[128:1]
inla_build...
number of sections=[9]
parse section=[0] name=[INLA.libR] type=[LIBR]
inla_parse_libR...
section[INLA.libR]
R_HOME=[/tools/statistics/R/R-4.3.1/lib64/R]
parse section=[6] name=[INLA.Expert] type=[EXPERT]
inla_parse_expert...
section[INLA.Expert]
disable.gaussian.check=[0]
Measure dot.product.gain=[No]
cpo.manual=[0]
jp.file=[(null)]
jp.model=[(null)]
parse section=[1] name=[INLA.Model] type=[PROBLEM]
inla_parse_problem...
name=[INLA.Model]
R-INLA version = [23.11.15]
R-INLA build date = [19676]
Build tag = [devel]
System memory = [503.3Gb]
Cores = (Physical= 128, Logical= 128)
'char' is signed
openmp.strategy=[default]
pardiso-library installed and working? = [no]
smtp = [taucs]
strategy = [default]
store results in directory=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/results.files]
output:
gcpo=[0]
num.level.sets=[-1]
size.max=[32]
strategy=[Posterior]
correct.hyperpar=[1]
epsilon=[0.005]
prior.diagonal=[0.0001]
keep=[]
remove.fixed=[1]
remove=[]
cpo=[0]
po=[0]
dic=[0]
kld=[1]
mlik=[1]
q=[0]
graph=[0]
hyperparameters=[1]
config=[0]
config.lite=[0]
likelihood.info=[0]
internal.opt=[1]
save.memory=[0]
summary=[1]
return.marginals=[1]
return.marginals.predictor=[0]
nquantiles=[3] [ 0.025 0.5 0.975 ]
ncdf=[0] [ ]
parse section=[3] name=[Predictor] type=[PREDICTOR]
inla_parse_predictor ...
section=[Predictor]
dir=[predictor]
PRIOR->name=[loggamma]
hyperid=[53001|Predictor]
PRIOR->from_theta=[function (x) <<NEWLINE>>exp(x)]
PRIOR->to_theta = [function (x) <<NEWLINE>>log(x)]
PRIOR->PARAMETERS=[1, 1e-05]
initialise log_precision[13.8155]
fixed=[1]
user.scale=[1]
n=[100]
m=[0]
ndata=[100]
compute=[1]
read offsets from file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c3667efa41a]
read n=[200] entries from file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c3667efa41a]
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c3667efa41a] 0/100 (idx,y) = (0, 0)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c3667efa41a] 1/100 (idx,y) = (1, 0)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c3667efa41a] 2/100 (idx,y) = (2, 0)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c3667efa41a] 3/100 (idx,y) = (3, 0)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c3667efa41a] 4/100 (idx,y) = (4, 0)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c3667efa41a] 5/100 (idx,y) = (5, 0)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c3667efa41a] 6/100 (idx,y) = (6, 0)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c3667efa41a] 7/100 (idx,y) = (7, 0)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c3667efa41a] 8/100 (idx,y) = (8, 0)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c3667efa41a] 9/100 (idx,y) = (9, 0)
A=[(null)]
Aext=[(null)]
AextPrecision=[1e+08]
output:
summary=[1]
return.marginals=[1]
return.marginals.predictor=[0]
nquantiles=[3] [ 0.025 0.5 0.975 ]
ncdf=[0] [ ]
parse section=[2] name=[INLA.Data1] type=[DATA]
inla_parse_data [section 1]...
tag=[INLA.Data1]
family=[GAUSSIAN]
likelihood=[GAUSSIAN]
file->name=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c36652e441c]
file->name=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c36433cba12]
file->name=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c3645c313b8]
file->name=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c363dbb2144]
read n=[300] entries from file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c36652e441c]
mdata.nattributes = 0
0/100 (idx,a,y,d) = (0, 1, -0.654565, 1)
1/100 (idx,a,y,d) = (1, 1, -0.275464, 1)
2/100 (idx,a,y,d) = (2, 1, 0.449318, 1)
3/100 (idx,a,y,d) = (3, 1, 0.664148, 1)
4/100 (idx,a,y,d) = (4, 1, -0.00646731, 1)
5/100 (idx,a,y,d) = (5, 1, 1.08942, 1)
6/100 (idx,a,y,d) = (6, 1, 1.14408, 1)
7/100 (idx,a,y,d) = (7, 1, 0.843554, 1)
8/100 (idx,a,y,d) = (8, 1, 0.710192, 1)
9/100 (idx,a,y,d) = (9, 1, 0.99212, 1)
likelihood.variant=[0]
initialise log_precision[4]
fixed0=[0]
PRIOR0->name=[loggamma]
hyperid=[65001|INLA.Data1]
PRIOR0->from_theta=[function (x) <<NEWLINE>>exp(x)]
PRIOR0->to_theta = [function (x) <<NEWLINE>>log(x)]
PRIOR0->PARAMETERS0=[1, 5e-05]
initialise log_precision offset[72.0873]
fixed1=[1]
PRIOR1->name=[none]
hyperid=[65002|INLA.Data1]
PRIOR1->from_theta=[function (x) <<NEWLINE>>exp(x)]
PRIOR1->to_theta = [function (x) <<NEWLINE>>log(x)]
PRIOR1->PARAMETERS1=[]
Link model [IDENTITY]
Link order [-1]
Link variant [-1]
Link a [1]
Link ntheta [0]
mix.use[0]
parse section=[4] name=[idx] type=[FFIELD]
inla_parse_ffield...
section=[idx]
dir=[random.effect00000001]
model=[rgeneric]
vb.correct n[1] -1
correct=[-1]
constr=[0]
diagonal=[0]
id.names=<not present>
compute=[1]
nrep=[1]
ngroup=[1]
read covariates from file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c362271524e]
read n=[200] entries from file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c362271524e]
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c362271524e] 0/100 (idx,y) = (0, 0)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c362271524e] 1/100 (idx,y) = (1, 1)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c362271524e] 2/100 (idx,y) = (2, 2)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c362271524e] 3/100 (idx,y) = (3, 3)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c362271524e] 4/100 (idx,y) = (4, 4)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c362271524e] 5/100 (idx,y) = (5, 5)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c362271524e] 6/100 (idx,y) = (6, 6)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c362271524e] 7/100 (idx,y) = (7, 7)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c362271524e] 8/100 (idx,y) = (8, 8)
file=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c362271524e] 9/100 (idx,y) = (9, 9)
file for locations=[/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c361f06f47e]
nlocations=[100]
locations[0]=[1]
locations[1]=[2]
locations[2]=[3]
locations[3]=[4]
locations[4]=[5]
locations[5]=[6]
locations[6]=[7]
locations[7]=[8]
locations[8]=[9]
locations[9]=[10]
cyclic=[0]
rgeneric.file [/tmp/RtmpFflSUJ/file1e6c364c65c5cb/data.files/file1e6c363ae336ba]
rgeneric.model [.inla.rgeneric.model.idx]