Intruments Call Tree a broken combination of R, C ++ and Fortran

I am trying to profile an OpenMx function, an R package containing C ++ and Fortran code, for processor time. My operating system is OS X 10.10. I read a section on this subject in the R manual. This section and this post make me try Tools. Here is what i did

  • Open tools
  • Select a time profiler template
  • Pressed record
  • Started my R script using RStudio

I get the following output: Tool output. The sample command line tool returns the same result.

, : omxunsafedgemm_ . Fortran . ++ omxDGEMM. omxDGEMM omxCallRamExpection ( ). omxDGEMM 0. , .

omxDGEMM . , . . omxunsafedgemm omxDGEMM ,

F77_CALL(omxunsafedgemm)(&transa, &transb,
                        &(nrow), &(ncol), &(nmid),
                        &alpha, a->data, &(a->leading), 
                        b->data, &(b->leading),&beta, result->data, &(result->leading));

, ?

+4
2

-O2 gfortran, R . -O2 , -O1 (. gcc manual page). , -O1, - -fomit-frame-pointer. , (. ).

,

FFLAGS = -g -O2 $(LTO) to

FFLAGS = -g -O2 -fno-omit-frame-pointer $(LTO)

${R_HOME}/etc/Makeconf . R_HOME=/Library//Frameworks/R.framework/Versions/3.2/Resources

-O2 , OpenMx (200 30 ).

+2

OpenMx OpenMx getOpenMx.R, gcc/gfortran. CRAN, OS X LLVM .. ( , OpenMP LLVM). , , . , , , .

+1

Source: https://habr.com/ru/post/1605759/


All Articles