cmdstan icon indicating copy to clipboard operation
cmdstan copied to clipboard

Parallelize gcc lto

Open jsks opened this issue 2 years ago • 1 comments

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.

jsks avatar Nov 20 '23 13:11 jsks

Thanks, @jsks. I'm not an expert in make, but this looks like a good idea.

bob-carpenter avatar Nov 27 '23 18:11 bob-carpenter