Question: Docker Galaxy Job conf file and SLURM
0
gravatar for machinelearner
17 months ago by
machinelearner • 10 wrote:

Hi everyone,

Is it possible to run multiple thread processes on Docker Galaxy via SLURM? According to SLURM documentation, using the --cpus-per-task flag allows for multiple CPUs to run. However, running this on Galaxy results in the following error:

Unable to run job due to a misconfiguration of the Galaxy job running system. Please contact a site administrator

This flag seems to work via command line, so it does not seem to be an issue with the container installation of SLURM. Is there a special flag or parameter option that has to be used? Currently, the relevant portion of the job conf file looks like this (most of it was from the sample file):

 <destinations default_from_environ="GALAXY_DESTINATIONS_DEFAULT" default="slurm_cluster">
            <destination id="slurm_cluster" runner="slurm">
            <param id="nativeSpecification" from_environ="NATIVE_SPEC">--cpus-per-task=2 --share</param>
            <env file="/galaxy_venv/bin/activate"/>
                    <param id="docker_enabled" from_environ="GALAXY_DOCKER_ENABLED">False</param>
        <param id="docker_sudo" from_environ="GALAXY_DOCKER_SUDO">False</param>
        <!-- The empty volumes from shouldn't affect Galaxy, set GALAXY_DOCKER_VOLUMES_FROM to use. -->
        <param id="docker_volumes_from" from_environ="GALAXY_DOCKER_VOLUMES_FROM"></param>
        <!-- For a stock Galaxy instance and traditional job runner $defaults will expand out as: $galaxy_root:ro,$tool_directory:ro,$working_directory:rw,$default_file_path:rw -->
        <param id="docker_volumes" from_environ="GALAXY_DOCKER_VOLUMES">$defaults</param>
        </destination>
    </destinations>

    <tools>
        <tool id="bowtie2"                      destination="slurm_cluster"/>
    </tools>

There was another post here (https://biostar.usegalaxy.org/p/21044/#21068) which seems to address using multiple cpus using a request_cpus id, but that results in the same error as above.

Thanks in advance for the help!

slurm galaxy • 710 views
ADD COMMENT • link • modified 17 months ago by Devon Ryan • 1.9k • written 17 months ago by machinelearner • 10
2
gravatar for Devon Ryan
17 months ago by
Devon Ryan • 1.9k
Germany
Devon Ryan • 1.9k wrote:

You'll want -n 2 in the native spec rather than --cpus-per-task=2, since that's not part of slurm-drmaa. The request_cpus part of answer that you linked to is just so Galaxy knows how many threads to tell the tool to use (since telling slurm won't suffice).

ADD COMMENT • link written 17 months ago by Devon Ryan • 1.9k

This worked! Thanks for the quick reply, I appreciate it!

ADD REPLY • link written 17 months ago by machinelearner • 10

Hi, can you share your job_conf file since I want to setup our docker-galaxy also to use more than 1 cpu? I see you have succeeded.

ADD REPLY • link written 12 months ago by vebaev • 130

Are you using the default slurm job runner or have you already changed something in job_conf.xml?

ADD REPLY • link written 11 months ago by Devon Ryan • 1.9k

I'm using Docker-Galaxy v17, and I'm using it without any change in the job_conf files right now. So probably any of the tools uses 1 CPU at the moment. I would like to make it so I can use more cores.

ADD REPLY • link modified 11 months ago • written 11 months ago by vebaev • 130

Add something like <param id="nativeSpecification">-n 4</param> to the <destination>. That'll make everything default to 4 cores.

ADD REPLY • link written 11 months ago by Devon Ryan • 1.9k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 169 users visited in the last hour