Closed jmeyers314 closed 1 year ago
If I comment out this bit: https://github.com/GalSim-developers/GalSim/blob/main/setup.py#L151-L154. Then I'm back in business.
@jamesp-epcc
Looks like we need a different way to identify a GPU-compatible compiler, which doesn't falsely trigger on the Apple clang variant.
OK, it looks as if it's not safe to assume that a compiler that reports nvptx support can actually perform a successful GPU build. Maybe Apple supplies their core compiler with nvptx enabled but it requires other software to function properly. I'll replace this with a check that actually builds a small GPU program and ensures there are no errors.
@jmeyers314 would you be able to check if this version of setup.py
fixes the problem for you? https://raw.githubusercontent.com/jamesp-epcc/GalSim/gpu_compiler_detection/setup.py
It works for me on Perlmutter but I don't have a Mac OS machine to hand for testing.
Yep. That looks like it works.
Trying to compile the main branch using the conda compiler that comes with the Rubin Science Pipelines on MacOS 12.6.3. The compiler is identified with
Yay! This version of clang supports GPU!
(which seems wrong as macs don't really support nvptx nowadays, but maybe it's capable of cross-compiling?). When checking for cpp11 a bit later in setup.py though, it errors out with:So looks like a GPU problem. Is there a way to force no-gpu with an env variable or something?