Arcadia-Science / prehgt

A pipeline for lightweight screening of Eukaryotic genomes and transcriptomes for recent HGT
MIT License
12 stars 6 forks source link

Process requirement exceeds available CPUs #60

Open onbio opened 1 month ago

onbio commented 1 month ago

Hi, I am getting error when running job with multiple processors. -[Arcadia-Science/prehgt] Pipeline completed with errors-ERROR ~ Error executing process > 'ARCADIASCIENCE_PREHGT:PREHGT:build_genus_pangenome (Bigelowiella)' Caused by: Process requirement exceeds available CPUs -- req: 6; avail: 1 The job runs fine with 1 CPU but fails as soon as I try to run multi-thread/processor.

Can someone help me understand and rectify the error.

Thanks

taylorreiter commented 1 month ago

Hi @onbio, thanks for your question. Nextflow is looking for 6 CPUs, but since you only have 1 available, it's failing. I think you could add --max_cpus 1 to your nextflow run command and it should work. Are you on a head node of a cluster or working with a small computer that only has 1 CPU? What type of operating system are you on? If it's linux, running nproc will tell you how many CPUs you have access to. If you're running it in docker locally, you might have to change your set up to allow for more CPUs to be allocated.

onbio commented 1 month ago

Thanks Taylor for your response. I am on a compute node with 96 processors and 350 GB RAM. Yes, it runs well when I specify 1 CPU. I have to run this tool on a large dataset thus 1 processor will not work for me. The processors are available still the tool is not able to find them.

taylorreiter commented 1 month ago

Are you running it inside a docker container or from the command line directly?

onbio commented 1 month ago

I am running this directly on command line. using mamba-nextflow environment.

the prompt is as below

taylorreiter commented 1 month ago

hmm ok it looks like you're on an HPC, running nextflow pipelines can be tricky on hpcs. Sometimes, admin rules only give 1 CPU for jobs that aren’t submitted through the scheduler. Would you mind including the output of nproc as a screen shot like you did above with your prompt? That would help eliminate some problems.

I have actually done very little of running nextflow on HPCs (I've done more of snakemake in that environment, sorry!). I did find these tips that may help you sleuth out what is going on/give you some examples of things to try

I apologize that this is a scatter shot response!

onbio commented 1 month ago

Thanks Taylor. I had gone through the first two links you provided, but due to my limited knowledge it is difficult for me to find the exact fix. It looks like there is an issue with the queue system. It returns the allocation of 1 processor where the request was for 12.

I suppose I will need to fix this with my IT department

taylorreiter commented 1 month ago

Good luck! If you're able to get it to read the correct number of nproc (ex. 12) and still run into an issue, feel free to come back and post an issue and we can help you try and figure it out!