MACS
MACS copied to clipboard
Q: Limit number of threads
Hi,
I'm running macs2 through miniconda3 on a shared server. It looks like macs2 by default uses the maximum number of available cores to spawn subprocesses during peak calling, thereby blocking anyone else from using the server. How can I limit the number of processes macs2 is allowed to run? I'm unable to find an option for that.
Thanks!
A very relevant question, I also experienced this behavior, which is really bad in a shared environment.
I have also experienced this behavior.
The multiprocessing function in MACS2 hasn't been implemented. Could you provide more information on this issue?
MACS2 uses all available cores at least at some timepoints or parts in the workflow, despite not specifying this anywhere as a command line option. Bad behavior, because of the greediness and therefore using all resources , particularly for shared environments.
@chrarnold Could you provide more detail? Such as MACS2 version and command line? Don't see where in the MACS2 code the multi-threading is implemented. But if you can provide more detail such as in which step it happens, it would be very helpful.
This is probably multithreading by BLAS (https://stackoverflow.com/questions/17053671/how-do-you-stop-numpy-from-multithreading) at least this is what I often see (and have to explicitely disable) in R on machines that have a multithread-ready BLAS library in place.