X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/927524f1be454de021180b74999d682780b8cb6b..f7bf9d69603db2d500563648460e2a96524de266:/sdk/cwl/arvados_cwl/arvcontainer.py diff --git a/sdk/cwl/arvados_cwl/arvcontainer.py b/sdk/cwl/arvados_cwl/arvcontainer.py index ae3c668895..2a5ff3a13a 100644 --- a/sdk/cwl/arvados_cwl/arvcontainer.py +++ b/sdk/cwl/arvados_cwl/arvcontainer.py @@ -246,7 +246,8 @@ class ArvadosContainer(JobBase): runtimeContext.pull_image, runtimeContext.project_uuid, runtimeContext.force_docker_pull, - runtimeContext.tmp_outdir_prefix) + runtimeContext.tmp_outdir_prefix, + runtimeContext.match_local_docker) network_req, _ = self.get_requirement("NetworkAccess") if network_req: @@ -291,6 +292,14 @@ class ArvadosContainer(JobBase): else: container_request["output_storage_classes"] = runtimeContext.intermediate_storage_classes.strip().split(",") + cuda_req, _ = self.get_requirement("http://commonwl.org/cwltool#CUDARequirement") + if cuda_req: + runtime_constraints["cuda"] = { + "device_count": resources.get("cudaDeviceCount", 1), + "driver_version": cuda_req["cudaVersionMin"], + "hardware_capability": aslist(cuda_req["cudaComputeCapability"])[0] + } + if self.timelimit is not None and self.timelimit > 0: scheduling_parameters["max_run_time"] = self.timelimit