Skip to content

CWL validation error for CUDARequirement #2114

Open
@ctriquet-cs

Description

@ctriquet-cs

A graph type CWL file using cwltool:CUDARequirement fails validating:

$ uvx cwltool --version
/home/xxx/.cache/uv/archive-v0/ZMLCW12Mp3N3VGv3_5qoT/bin/cwltool 3.1.20250110105449
$ uvx cwltool --enable-ext --validate hello_gpu.cwl
...
ERROR Tool definition failed initialization:
Tool definition file:///home/xxx/hello_gpu.cwl#hello-cl failed validation:
hello_gpu.cwl:28:3:   checking object 'hello_gpu.cwl#hello-cl'
hello_gpu.cwl:35:3:     checking field 'requirements'
hello_gpu.cwl:38:5:       checking item
                            Field 'class' contains undefined reference to
                            'http://commonwl.org/cwltool#CUDARequirement'

This is working with a command line CWL file:

$ uvx cwltool --enable-ext --validate hello_gpu_cmd.cwl
INFO /home/xxx/.cache/uv/archive-v0/ZMLCW12Mp3N3VGv3_5qoT/bin/cwltool 3.1.20250110105449
INFO Resolved 'hello_gpu_cmd.cwl' to 'file:///home/xxx/hello_gpu_cmd.cwl'
hello_gpu_cmd.cwl is valid CWL.

It seems to be a regression between cwltool versions 3.1.20240708091337 and 3.1.20240909164951:

$ uvx [email protected] --enable-ext --validate hello_gpu.cwl
INFO /home/xxx/.cache/uv/archive-v0/h23YVLkmKiHUylFu5yntD/bin/cwltool 3.1.20240708091337
INFO Resolved 'hello_gpu.cwl' to 'file:///home/xxx/hello_gpu.cwl'
hello_gpu.cwl is valid CWL.
❯ uvx [email protected] --enable-ext --validate hello_gpu.cwl
INFO /home/xxx/.cache/uv/archive-v0/tTUhElDku-ZBcz3fPrqTp/bin/cwltool 3.1.20240909164951
INFO Resolved 'hello_gpu.cwl' to 'file:///home/xxx/hello_gpu.cwl'
ERROR Tool definition failed initialization:
Tool definition file:///home/xxx/hello_gpu.cwl#hello-cl failed validation:
hello_gpu.cwl:28:3:   checking object 'hello_gpu.cwl#hello-cl'
hello_gpu.cwl:35:3:     checking field 'requirements'
hello_gpu.cwl:38:5:       checking item
                            Field 'class' contains undefined reference to
                            'http://commonwl.org/cwltool#CUDARequirement'

The corresponding CWL files are attached into
cwl.zip.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions