mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
adding test extensions for GPU
This commit is contained in:
@@ -233,7 +233,7 @@ ResourceType = Literal[
|
||||
"ram_max",
|
||||
"tmpdir_min",
|
||||
"tmpdir_max",
|
||||
"cuda_runtime_min",
|
||||
"cuda_version_min",
|
||||
"cuda_compute_capability",
|
||||
"gpu_memory_min",
|
||||
"cuda_device_count_min",
|
||||
@@ -277,7 +277,7 @@ def resource_requirements_from_list(requirements) -> List[ResourceRequirement]:
|
||||
"ramMax": "ram_max",
|
||||
"tmpdirMin": "tmpdir_min",
|
||||
"tmpdirMax": "tmpdir_max",
|
||||
"cudaRuntimeMin": "cuda_runtime_min",
|
||||
"cudaVersionMin": "cuda_version_min",
|
||||
"cudaComputeCapability": "cuda_compute_capability",
|
||||
"gpuMemoryMin": "gpu_memory_min",
|
||||
"cudaDeviceCountMin": "cuda_device_count_min",
|
||||
|
||||
@@ -6793,7 +6793,7 @@ and ``bibtex`` are the only supported options.</xs:documentation>
|
||||
<xs:documentation xml:lang="en">Maximum reserved filesystem based storage for the designated temporary directory, in mebibytes (2**20 bytes), if runtime allows it (not yet implemented in Galaxy).</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="cuda_runtime_min">
|
||||
<xs:enumeration value="cuda_version_min">
|
||||
<xs:annotation>
|
||||
<xs:documentation xml:lang="en">Minimum CUDA (runtime link library) runtime version, if runtime allows it (not yet implemented in Galaxy).</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
@@ -6,6 +6,11 @@
|
||||
<resource type="ram_max">2></resource>
|
||||
<resource type="tmpdir_min"><![CDATA[$(inputs.input1.size)]]></resource>
|
||||
<resource type="tmpdir_max"><![CDATA[$(inputs.input1.size * 2)]]></resource>
|
||||
<resource type="cuda_version_min">10.2</resource>
|
||||
<resource type="cuda_compute_capability">6.1</resource>
|
||||
<resource type="gpu_memory_min">4042</resource>
|
||||
<resource type="cuda_device_count_min">1</resource>
|
||||
<resource type="cuda_device_count_max">2</resource>
|
||||
</requirements>
|
||||
<command><![CDATA[
|
||||
echo "\$GALAXY_SLOTS" > $output
|
||||
|
||||
@@ -31,6 +31,11 @@ TOOL_XML_1 = """
|
||||
<container type="docker">mycool/bwa</container>
|
||||
<requirement type="package" version="1.0">bwa</requirement>
|
||||
<resource type="cores_min">1</resource>
|
||||
<resource type="cuda_version_min">10.2</resource>
|
||||
<resource type="cuda_compute_capability">6.1</resource>
|
||||
<resource type="gpu_memory_min">4042</resource>
|
||||
<resource type="cuda_device_count_min">1</resource>
|
||||
<resource type="cuda_device_count_max">2</resource>
|
||||
</requirements>
|
||||
<outputs>
|
||||
<data name="out1" format="bam" from_work_dir="out1.bam" />
|
||||
@@ -125,6 +130,16 @@ requirements:
|
||||
version: 1.0.1
|
||||
- type: resource
|
||||
cores_min: 1
|
||||
- type: resource
|
||||
cuda_version_min: 10.2
|
||||
- type: resource
|
||||
cuda_compute_capability: 6.1
|
||||
- type: resource
|
||||
gpu_memory_min: 4042
|
||||
- type: resource
|
||||
cuda_device_count_min: 1
|
||||
- type: resource
|
||||
cuda_device_count_max: 2
|
||||
containers:
|
||||
- type: docker
|
||||
identifier: "awesome/bowtie"
|
||||
@@ -311,6 +326,11 @@ class TestXmlLoader(BaseLoaderTestCase):
|
||||
assert requirements[0].type == "package"
|
||||
assert list(containers)[0].identifier == "mycool/bwa"
|
||||
assert resource_requirements[0].resource_type == "cores_min"
|
||||
assert resource_requirements[1].resource_type == "cuda_version_min"
|
||||
assert resource_requirements[2].resource_type == "cuda_compute_capability"
|
||||
assert resource_requirements[3].resource_type == "gpu_memory_min"
|
||||
assert resource_requirements[4].resource_type == "cuda_device_count_min"
|
||||
assert resource_requirements[5].resource_type == "cuda_device_count_max"
|
||||
assert not resource_requirements[0].runtime_required
|
||||
|
||||
def test_outputs(self):
|
||||
@@ -486,8 +506,13 @@ class TestYamlLoader(BaseLoaderTestCase):
|
||||
"resolve_dependencies": False,
|
||||
"shell": "/bin/sh",
|
||||
}
|
||||
assert len(resource_requirements) == 1
|
||||
assert len(resource_requirements) == 6
|
||||
assert resource_requirements[0].to_dict() == {"resource_type": "cores_min", "value_or_expression": 1}
|
||||
assert resource_requirements[1].to_dict() == {"resource_type": "cuda_version_min", "value_or_expression": 10.2}
|
||||
assert resource_requirements[2].to_dict() == {"resource_type": "cuda_compute_capability", "value_or_expression": 6.1}
|
||||
assert resource_requirements[3].to_dict() == {"resource_type": "gpu_memory_min", "value_or_expression": 4042}
|
||||
assert resource_requirements[4].to_dict() == {"resource_type": "cuda_device_count_min", "value_or_expression": 1}
|
||||
assert resource_requirements[5].to_dict() == {"resource_type": "cuda_device_count_max", "value_or_expression": 2}
|
||||
|
||||
def test_outputs(self):
|
||||
outputs, output_collections = self._tool_source.parse_outputs(object())
|
||||
|
||||
Reference in New Issue
Block a user