[Rcpp-devel] RcppParallel wrong after correct
Romain Francois
romain at r-enthusiasts.com
Fri Jun 2 15:56:55 CEST 2017
Can you prepare a reprex ?
> Le 2 juin 2017 à 15:40, "f.krah at mailbox.org" <f.krah at mailbox.org> a écrit :
>
> Hi all,
>
> I wrote a function foo using RcppParallel and I am observing a bug, which I can’t figure out.
> I first wrote the function in R, then in Rcpp, then RcppParallel.
>
> foo is doing exactly what it is supposed to do in R and Rcpp.
> However, I am observing some wired things in RcppParallel.
>
> foo_par is running, giving almost what I want.
>
> foo compares two matrices columnwise all pairwise combinations.
> thus we have 3 loops.
> In the smallest step it takes two values e.g. m[c(row1, row2), 1] from the first matrix and checks if they are
> appear in 1 column in the second matrix. If they are 1 is returned, if not 0.
>
> However, before that there is a check if one of the c(1,2) is even, then only a NA is returned.
> Check below for this step.
>
> The wired thing is, that this works perfectly fine the very 1st instance this case happens
> and not any more in the thereafter examples.
>
> E.g:
>
> > foo(m1, m2)
> [,1] [,2] [,3] [,4]
> [1,] 1 1 1 1
> [2,] 1 NA 1 0*
> [3,] 1 0* 1 0*
>
> the 0s with * should be NA.
>
>
>
> if ( (row1 % 2 == 0) || (row2 % 2 == 0) ){
>
> result_matrix(count, col) = NA_REAL;
>
> } else {
>
> do the 0, 1 stuff
> }
>
> ** count: i am using a counter for the filling of the resulting matrix (indicates the row where it should be put)
> ** col: this is from the outest loop. it loops over columns and then writes the result into the according col in the result matrix.
>
>
>
> Is this enough information?
> If someone needs to see the full function, I would prefer to send this via mail directly, since
> this is for a publication…
>
> I appreciate any hints!
> And I am wondering if this is coming from the parallelization itself?
> The modulo is somehow not working correctly?
>
> Cheers,
> Franz
> _______________________________________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20170602/7a73e4a6/attachment.html>
More information about the Rcpp-devel
mailing list