From 6afdea9ce20babc495b17dc087e89f5ace90c979 Mon Sep 17 00:00:00 2001 From: chrisadamsonmcri Date: Fri, 12 Sep 2025 12:29:41 +1000 Subject: [PATCH 1/2] Limit threads for mris_expand --- src/smriprep/interfaces/freesurfer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/smriprep/interfaces/freesurfer.py b/src/smriprep/interfaces/freesurfer.py index 94cd2960fa..59a0acbb24 100644 --- a/src/smriprep/interfaces/freesurfer.py +++ b/src/smriprep/interfaces/freesurfer.py @@ -337,4 +337,4 @@ def _format_arg(self, name, trait_spec, value): def _num_threads_update(self): if self.inputs.num_threads: - self.inputs.environ.update({'OMP_NUM_THREADS': str(self.inputs.num_threads * 3 // 2)}) + self.inputs.environ.update({'OMP_SCHEDULE': 'dynamic', 'OMP_NUM_THREADS': str(min(8, self.inputs.num_threads - 1))}) From 5e0b15a66a1fa48e8c10a5e2100dbc090012fa0b Mon Sep 17 00:00:00 2001 From: chrisadamsonmcri Date: Fri, 12 Sep 2025 13:01:17 +1000 Subject: [PATCH 2/2] Make sure thread count is at least 1 --- src/smriprep/interfaces/freesurfer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/smriprep/interfaces/freesurfer.py b/src/smriprep/interfaces/freesurfer.py index 59a0acbb24..989676ae69 100644 --- a/src/smriprep/interfaces/freesurfer.py +++ b/src/smriprep/interfaces/freesurfer.py @@ -337,4 +337,4 @@ def _format_arg(self, name, trait_spec, value): def _num_threads_update(self): if self.inputs.num_threads: - self.inputs.environ.update({'OMP_SCHEDULE': 'dynamic', 'OMP_NUM_THREADS': str(min(8, self.inputs.num_threads - 1))}) + self.inputs.environ.update({'OMP_SCHEDULE': 'dynamic', 'OMP_NUM_THREADS': str(max(1, min(8, self.inputs.num_threads - 1)))})