Skip to content

[CUDA] printfs results in ptxas error: Call has wrong number of parameters #1154

Closed
@fwyzard

Description

@fwyzard

Testing the latest iteration of #1091 (as of 44af06f2eb0) on top of the HEAD of the sycl branch (as of 7743e86) with a SYCLE kernel that calls printf, the compilation for the CUDA backend fails with

ptxas /tmp/fwyzard/main_oneapi-2cd1b3.s, line 516; error   : Call has wrong number of parameters
ptxas /tmp/fwyzard/main_oneapi-2cd1b3.s, line 721; error   : Call has wrong number of parameters
ptxas /tmp/fwyzard/main_oneapi-2cd1b3.s, line 890; error   : Call has wrong number of parameters
ptxas /tmp/fwyzard/main_oneapi-2cd1b3.s, line 1543; error   : Call has wrong number of parameters
ptxas /tmp/fwyzard/main_oneapi-2cd1b3.s, line 1643; error   : Call has wrong number of parameters
ptxas fatal   : Ptx assembly aborted due to errors
clang-11: error: ptxas command failed with exit code 255 (use -v to see invocation)

All errors point to similar PTX code:

        call.uni (retval0),
        _Z18__spirv_ocl_printfPU3AS4Kcz,
        (
        param0,
        param1
        );

where _Z18__spirv_ocl_printfPU3AS4Kcz demangles to __spirv_ocl_printf(char const AS4*, ...).

The same kernel compiles and runs with the OpenCL backend.

In case it's useful, the way I am using printf in kernel code is here and e.g. here.

The code compiles for the CUDA backend if I comment out the call to cl::sycl::intel::experimental::printf.

Metadata

Metadata

Labels

bugSomething isn't workingcudaCUDA back-endlibclclibclc project related issues

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions