I am setting up an mri_reface pipeline on our SGE cluster. I've been experimenting with memory limits and multithreading. I'll share my results from my initial tests. If Chris et al. want to weigh in with any insider recommendations, I'd appreciate it, and I hope it may be useful to others.
I am using an apptainer image created from the mri_reface docker image.
Memory:
4 GB: stopped with MATLAB runtime out of memory error
8 GB: completed refacing but skipped generating the PNG snapshots
Generating renders for QC use
deNoseWrap failed. Skipping deNoseWrap.
#
# There is insufficient memory
for the Java Runtime Environment to
continue.
# Native memory allocation
(malloc) failed to allocate 24 bytes for AllocateHeap
12 GB: ran with no memory errors or warnings
CPU
Single threaded:
OMP:
Warning #96: Cannot form a team with 4 threads, using 1
instead.
OMP: Hint Consider unsetting
KMP_DEVICE_THREAD_LIMIT (KMP_ALL_THREADS), KMP_TEAMS_THREAD_LIMIT,
and OMP_THREAD_LIMIT (if any are set).
Using 4 threads (SGE submit script option `-pe smp 4`)
OMP:
Warning #96: Cannot form a team with 20 threads, using 4
instead.
OMP: Hint Consider unsetting
KMP_DEVICE_THREAD_LIMIT (KMP_ALL_THREADS), KMP_TEAMS_THREAD_LIMIT,
and OMP_THREAD_LIMIT (if any are set).
I note the docs say there's not much gain to multithreading so I may ignore these warnings. I have not tested run time for different numbers of threads yet.
Threaded View
| Title | Author | Date |
|---|---|---|
| Paul Wright | Apr 29, 2026 | |
| Paul Wright | Apr 29, 2026 | |
| Christopher Schwarz | Apr 29, 2026 | |
