Thanks Philippe, I have been able to compile mgcv this way (although with the 4.5.0 update I hit a snag regarding libintl.h not being found, and even then, there is a problem with XCode CLI tools 16.3 which bumps clang to 1700 and that is not liking any of the libomp versions on Simon's https://mac.r-project.org/openmp/ page although it's unclear whether this is openmp-related for something that is in this version of clang - I saw a number of references to a bug in this version that was leading to the |symbol not found in flat namespace '___kmpc_dispatch_deinit' | errors that have been reported here today)
But the CRAN binary of R does now ship with libomp.dynlib even on MacOS X and mgcv (and glmmTMB) has the relevant macros in its ./src/Makevars: PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) $(SHLIB_OPENMP_CFLAGS) PKG_CFLAGS = $(SHLIB_OPENMP_CFLAGS) Hence my thinking perhaps now with 4.5.0 this might work out of the box. Which would be good. But that's what I'm trying to ascertain with this thread. All the best Gavin On Thu, 24 Apr 2025 at 17:04, webmail.gandi.net <phgrosj...@sciviews.org> wrote: > > It is possible to compile, say mgcv with OpenMP. There are several steps > (done on a Mac M4 with Sequoia 15.3.2) : > > - Installed R 4.5.0 patched (should not change from the initial 4.5.0 > version, but to be correct) > > - Installed the compilation tools with `xcode-select —install` > > - Installed gfortran-14.2-universal.pkg from here: > https://mac.r-project.org/tools/ > > - Followed instructions here: https://mac.r-project.org/bin/, that is, `sudo > R`, then `source("https://mac.R-project.org/bin/install.R »)`, then > > ```bash > install.libs("r-base-dev") > install.libs("gettext") > ``` > > - Followed instructions on this page to get experimental OpenMP libraries: > https://mac.r-project.org/openmp/ > > - Downloaded the latest .tar.gz source of mgcv and placed the file in the > current directory > > - Recompiled mgcv with: `PKG_CPPFLAGS='-Xclang -fopenmp' PKG_LIBS=-lomp R CMD > INSTALL mgcv-1.9-3.tar.gz` > > Now I have `mgcv:::mgcv.omp()` that returns TRUE. > > Note that I used to recompile data.table also to get a multithreaded version, > but apparently, it is not needed any more: > > ```R > install.packages("data.table") > library(data.table) > getDTthreads() # 8 for me by default (M4 max) > packageVersion("data.table") # 1.17.0 > ``` > > It would be nice to get multithreading, and especially OpenMP, enabled by > default for the Mac. But I understand that it is risky since Apple does not > support it officially. > > Best, > > Philippe > > .........................................<°}))><........ > ) ) ) ) ) > ( ( ( ( ( Prof. Philippe Grosjean > ) ) ) ) ) > ( ( ( ( ( Numerical Ecology > ) ) ) ) ) Mons University, Belgium > ( ( ( ( ( > .............................................................. > > > Le 24 avr. 2025 à 11:58, Gavin Simpson <ucfa...@gmail.com> a écrit : > > > > Dear list, > > > > I'm trying to clarify my understanding of what is and is not > > implemented / expected in terms of openMP support in R and CRAN > > package *binaries* for MacOS on apple silicon. > > > > I have the CRAN's R binary for MacOS X (apple silicon) and also the > > CRAN binaries for two packages, glmmTMB and mgcv, both of which seem > > to be instrumented (following WRE) to use OpenMP if available. And > > from discussions here I understand that thanks to Simon and others, > > OpenMP support for MacOS X is in R and so should I expect OpenMP to > > work in these two packages? > > > > If I am, neither of them is working on various of my Mac systems; > > model fitting is single threaded and the test functions that glmmTMB > > and mgcv use to detect OMP support both return FALSE: > > > > R version 4.5.0 (2025-04-11) -- "How About a Twenty-Six" > > Platform: aarch64-apple-darwin20 (64-bit) > > r$> glmmTMB::omp_check() > > [1] FALSE > > r$> mgcv:::mgcv.omp() > > [1] FALSE > > > > Is this reproducible on other's systems? (Could someone run those two > > bits of code on their systems if they use the MacOS X R binary from > > CRAN and the CRAN Mac binaries for the packages - running mgcv's test > > should be easier as this pkg is shipped with the R binary). > > > > I am happy to provide further system details, but at this point I'm > > mostly hoping to clarify what I should expect and whether what I'm > > seeing is typical? > > > > Thanks in advance > > > > Gavin > > > > -- > > Gavin Simpson, PhD [he/him/his] > > [tw] @ucfagls [OrciD] 0000-0002-9084-8413 > > [web] fromthebottomoftheheap.net > > • Assistant Professor > > • Department of Animal & Veterinary Sciences, Aarhus University > > • Adjunct Professor, Department of Biology, University of Regina. > > > > _______________________________________________ > > R-SIG-Mac mailing list > > R-SIG-Mac@r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-sig-mac > -- Gavin Simpson, PhD [he/him/his] [tw] @ucfagls [OrciD] 0000-0002-9084-8413 [web] fromthebottomoftheheap.net • Assistant Professor • Department of Animal & Veterinary Sciences, Aarhus University • Adjunct Professor, Department of Biology, University of Regina. _______________________________________________ R-SIG-Mac mailing list R-SIG-Mac@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-mac