omp导致R崩溃

时间:2020-07-12 21:03:38

标签: r openmp rcpp

函数rl_compute的以下部分可以正常编译,但在运行R时会导致R崩溃。不知道为什么。它可以使用1个线程。

// [[Rcpp::export]]
void rl_compute(NumericVector covparms, 
        NumericMatrix locs, 
        NumericMatrix NNarray,
        NumericVector& y, 
        NumericMatrix X)
{
    
    int n = y.length();
    int m = NNarray.ncol();
    int p = X.ncol();
    int nparms = covparms.length();
    int dim = locs.ncol();

#pragma omp parallel num_threads(2)\
    {
    int id = omp_get_thread_num();
    for(int i=id; i<n; i= i+2 ){

    int bsize = std::min(i+1,m);

    NumericMatrix locsub(bsize, dim);
    arma::mat X0( bsize, p );
    arma::vec ysub;
    NumericVector idx = na_omit(NNarray.row(i));
    ...}
    }

}

0 个答案:

没有答案