Dear mailing list members,
Basically I just want to post a comment on the patch for a .SERIAL target
(https://savannah.gnu.org/patch/?5108) that I've applied the proposed patch to
make's git-repo for the releases 3.81, 3.82, 4.0 and 4.1:
https://github.com/romangrothausmann/make/branches
It seems to work as expected but savannah tells me: "You are not allowed to post
comments on this tracker with your current authentification level."
I've up-voted this contribution because it seems to be the essential solution to
often reoccurring problems I have when (mis-) using GNU-Make for
image-processing. In contrast to make's common use to compile source-code I use
make to run CLIs for 3D image processing (see e.g.
https://github.com/romangrothausmann/ITK-CLIs). For tomographic datasets of
about 10GB some sophisticated commands need more than 50% of our 256GB of RAM so
that multiple such jobs lead to thrashing during swapping or get killed by the
kernel's OOM-killer. However, many other jobs do not need so much memory and can
perfectly run in parallel which for our 24 CPUs gives a significant reduction in
total processing time.
As pointed out on https://savannah.gnu.org/bugs/?42288 an option to limit
started jobs by current mem usage is very tricky (which I understand) so Cesar
Crusius' contribution to "manually" mark some rules to not run in parallel would
be a great feature.
A possible improvement to that feature would be to even work for dependencies
that get created by make from Makefiles in subdirectories. Currently, I only get
the intended behaviour by coping and adjusting the .SERIAL target line from the
Makefile in the sub-dir to the Makefile of the main-dir
Regards,
Roman
--
Dr. Roman Grothausmann
Tomographie und Digitale Bildverarbeitung
Tomography and Digital Image Analysis
Institut für Funktionelle und Angewandte Anatomie, OE 4120
Medizinische Hochschule Hannover
Carl-Neuberg-Str. 1
D-30625 Hannover
Tel. +49 511 532-2900
_______________________________________________
Help-make mailing list
Help-make@gnu.org
https://lists.gnu.org/mailman/listinfo/help-make