Skip to content

Codegen using SPIRV-LLVM Translator regressed #349

@maleadt

Description

@maleadt

As part of JuliaGPU/GPUCompiler.jl#709 I contemplated (temporarily) reverting back to the SPIRV-LLVM-Translator, which luckily seems to support our new SPIRV Intrinsics (i.e. the format is compatible with both back-ends), but a couple of tests seem to have regressed:

      From worker 24:   error: line 371: OpPhi's number of incoming blocks (4) does not match block's predecessor count (4).
      From worker 24:     %value_phi_in = OpPhi %_ptr_CrossWorkgroup_float %188 %L150 %197 %L177 %165 %L103 %165 %L103
gpuarrays/indexing multidimensional           (24) |         failed at 2025-07-30T19:28:57.747
      From worker 32:   error: line 147: Interface variable id <190> is used by entry point '_Z16gpu_tril_kernel_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi2E5TupleI5OneToI5Int64ES6_EE7NDRangeILi2ES0_S0_S8_S8_EE13CLDeviceArrayI7ComplexI7Float64ELi2ELi1EES5_' id <215>, but is not listed as an interface
      From worker 32:     %190 = OpVariable %_ptr_UniformConstant__arr_uchar_ulong_16 UniformConstant %188
      From worker 32:
      From worker 32:   error: line 147: Interface variable id <190> is used by entry point '_Z16gpu_tril_kernel_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi2E5TupleI5OneToI5Int64ES6_EE7NDRangeILi2ES0_S0_S8_S8_EE13CLDeviceArrayI7ComplexI7Float64ELi2ELi1EES5_' id <215>, but is not listed as an interface
      From worker 32:     %190 = OpVariable %_ptr_UniformConstant__arr_uchar_ulong_16 UniformConstant %188
      From worker 32:
gpuarrays/statistics                          (32) |         failed at 2025-07-30T19:29:10.123

It would be good to fix that and maybe add a CI job so that we keep supporting both (for the time being).

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