Dear,

I wrote a code in Fortran using OpenMP. When testing the code in Fortran it was 
working. However, changing the code for the R, it does not indicate the use of 
threads, it should indicate.
I know that the R accepts the directives of OpenMP, but I can not use them 
correctly in R.
Below is a small sample code that should work with the use of OpenMP, but does 
not work when I use the R. 

        SUBROUTINE A1(N, A, B)
          INCLUDE "omp_lib.h"
          INTEGER :: I, N
          DOUBLE PRECISION, DIMENSION(N) :: B(N), A(N)
          LOGICAL :: OMP_IN_PARALLEL

!$OMP PARALLEL DO 
          WRITE(*,*) OMP_IN_PARALLEL()
!$OMP DO
          DO I=2,N
            B(I) = (A(I) + A(I-1)) / 2.0
          ENDDO
!$OMP END DO
!$OMP END PARALLEL
        END SUBROUTINE A1

# Compiling

R CMD SHLIB teste.f95 -o teste.so -fopenmp


# Output of the R

a <- rnorm(10)
b <- rnorm(10)
N <- length(a)
dyn.load("teste.so")
.Fortran("A1", as.integer(n), as.double(a),as.double(b))

F    ######### Should return TRUE and not FALSE

[[1]]
[1] 5

[[2]]
 [1] -1.0885364  0.4170852 -0.4627566  0.5662825 -1.9792053  1.0347733
 [7]  1.1615486  1.1752779  1.4337560 -0.2803431

[[3]]
 [1] -0.52768479 -0.33572564 -0.02283571  0.05176294 -0.70646140 -0.15066979
 [7] -0.82335438  1.20606866 -1.65533309  1.04965146


Somebody to say would know me where is the error?

Thank you very much!

               Fábio Mathias Corrêa
Estatística e Experimentação Agropecuária/UFLA



      
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to