diff --git a/op_builder/mps/cpu_adam.py b/op_builder/mps/cpu_adam.py index a4308adb42e4..738318c80b8d 100644 --- a/op_builder/mps/cpu_adam.py +++ b/op_builder/mps/cpu_adam.py @@ -46,7 +46,10 @@ def _libomp_prefix(self): return None def cxx_args(self): - args = ['-O3', '-std=c++17', '-g', '-Wno-reorder', '-D__SCALAR__'] + import torch + torch_major, torch_minor = (int(x) for x in torch.__version__.split('.')[:2]) + cpp_standard = '-std=c++20' if (torch_major, torch_minor) >= (2, 12) else '-std=c++17' + args = ['-O3', cpp_standard, '-g', '-Wno-reorder', '-D__SCALAR__'] libomp = self._libomp_prefix() if libomp is not None: args += ['-Xpreprocessor', '-fopenmp', f'-I{libomp}/include']