gcc allows passing the number of threads for parallelization to use at link time with LTO. Since gcc 10.x this can be set automatically with -flto=auto which will use either GNU Make's job server or fallback to detecting the number of available CPU threads (see the gcc documentation)
An additional ifeq check can be added to makefile around line 74. This will silence the lto-wrapper warning that currently pops up about serial compilation of LTRANS jobs when compiling with gcc and STAN_CPP_OPTIMS enabled and hopefully decrease the linking time.
gcc allows passing the number of threads for parallelization to use at link time with LTO. Since gcc 10.x this can be set automatically with
-flto=auto
which will use either GNU Make's job server or fallback to detecting the number of available CPU threads (see the gcc documentation)An additional
ifeq
check can be added tomakefile
around line 74. This will silence the lto-wrapper warning that currently pops up about serial compilation of LTRANS jobs when compiling with gcc andSTAN_CPP_OPTIMS
enabled and hopefully decrease the linking time.