m4rs-mt / ILGPU

ILGPU JIT Compiler for high-performance .Net GPU programs
http://www.ilgpu.net
Other
1.34k stars 115 forks source link

[BUG]: NET v8.0.5 SDK has broken CI pipeline #1223

Closed MoFtZ closed 3 months ago

MoFtZ commented 3 months ago

Describe the bug

The recent release of the .NET 8.0.5 SDK had changed the compiler, and our CI pipeline is now failing to build.

Looks like the T4 transformation is failing on an ambiguous call.

Environment

Steps to reproduce

  1. Update to .NET 8.0.5 SDK
  2. Clear T4 templates
  3. Build solution

Expected behavior

Compiles without issue.

Additional context

From https://github.com/MoFtZ/ILGPU/actions/runs/9089198620/job/24979978873#step:4:1

dotnet build Src --configuration=Release -p:TreatWarningsAsErrors=true
  shell: C:\Program Files\PowerShell\7\pwsh.EXE -command ". '{0}'"
  env:
    DOTNET_NOLOGO: true
    DOTNET_ROOT: C:\Program Files\dotnet
  Determining projects to restore...
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU\ILGPU.csproj (in 23.29 sec).
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU.Tests\ILGPU.Tests.csproj (in 23.3 sec).
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms.Tests\ILGPU.Algorithms.Tests.csproj (in 23.3 sec).
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU.Tests.Velocity\ILGPU.Tests.Velocity.csproj (in 1.28 sec).
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU.Tests.OpenCL\ILGPU.Tests.OpenCL.csproj (in 1.28 sec).
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU.Tests.Cuda\ILGPU.Tests.Cuda.csproj (in 5.31 sec).
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU.Tests.CPU\ILGPU.Tests.CPU.csproj (in 5.31 sec).
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj (in 550 ms).
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms.Tests.OpenCL\ILGPU.Algorithms.Tests.OpenCL.csproj (in 16 ms).
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms.Tests.Cuda\ILGPU.Algorithms.Tests.Cuda.csproj (in 309 ms).
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms.Tests.CPU\ILGPU.Algorithms.Tests.CPU.csproj (in 6 ms).
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU.Analyzers\ILGPU.Analyzers.csproj (in 35.45 sec).
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU.Analyzers.Tests\ILGPU.Analyzers.Tests.csproj (in 10.51 sec).
  Restored D:\a\ILGPU\ILGPU\Src\ILGPU.Tests\ILGPU.Tests.csproj (in 1.5 min).
  ILGPU.Analyzers -> D:\a\ILGPU\ILGPU\Src\ILGPU.Analyzers\bin\Release\netstandard2.0\ILGPU.Analyzers.dll
  Templates transformed for ILGPU.Tests.Cuda (in 7.995 sec).
  Templates transformed for ILGPU.Tests.CPU (in 8.098 sec).
  Templates transformed for ILGPU.Tests (in 10.272 sec).
  Templates transformed for ILGPU (in 10.717 sec).
  ILGPU -> D:\a\ILGPU\ILGPU\Bin\Release\net8.0\ILGPU.dll
  ILGPU -> D:\a\ILGPU\ILGPU\Bin\Release\net6.0\ILGPU.dll
  ILGPU -> D:\a\ILGPU\ILGPU\Bin\Release\net7.0\ILGPU.dll
  Templates transformed for ILGPU.Tests.OpenCL (in 2.779 sec).
Runtime\Cuda\CuBlasMethodsLevel1.tt(29,47): error : The call is ambiguous between the following methods or properties: 'GeneratedTextTransformation.GetBlasMapping<T>(params T[])' and 'GeneratedTextTransformation.GetBlasMapping<T>(params (string, T[])[])' [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(29,15): error : Cannot infer the type of implicitly-typed deconstruction variable 'entry'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(29,22): error : Cannot infer the type of implicitly-typed deconstruction variable 'func'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(29,28): error : Cannot infer the type of implicitly-typed deconstruction variable 'type'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(29,34): error : Cannot infer the type of implicitly-typed deconstruction variable 'elemType'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(76,47): error : The call is ambiguous between the following methods or properties: 'GeneratedTextTransformation.GetBlasMapping<T>(params T[])' and 'GeneratedTextTransformation.GetBlasMapping<T>(params (string, T[])[])' [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(76,15): error : Cannot infer the type of implicitly-typed deconstruction variable 'entry'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(76,22): error : Cannot infer the type of implicitly-typed deconstruction variable 'func'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(76,28): error : Cannot infer the type of implicitly-typed deconstruction variable 'type'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(76,34): error : Cannot infer the type of implicitly-typed deconstruction variable 'elemType'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(154,47): error : The call is ambiguous between the following methods or properties: 'GeneratedTextTransformation.GetBlasMapping<T>(params T[])' and 'GeneratedTextTransformation.GetBlasMapping<T>(params (string, T[])[])' [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(154,15): error : Cannot infer the type of implicitly-typed deconstruction variable 'entry'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(154,22): error : Cannot infer the type of implicitly-typed deconstruction variable 'func'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(154,28): error : Cannot infer the type of implicitly-typed deconstruction variable 'type'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(154,34): error : Cannot infer the type of implicitly-typed deconstruction variable 'elemType'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(243,47): error : The call is ambiguous between the following methods or properties: 'GeneratedTextTransformation.GetBlasMapping<T>(params T[])' and 'GeneratedTextTransformation.GetBlasMapping<T>(params (string, T[])[])' [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(243,15): error : Cannot infer the type of implicitly-typed deconstruction variable 'entry'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(243,22): error : Cannot infer the type of implicitly-typed deconstruction variable 'func'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(243,28): error : Cannot infer the type of implicitly-typed deconstruction variable 'type'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(243,34): error : Cannot infer the type of implicitly-typed deconstruction variable 'elemType'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(350,47): error : The call is ambiguous between the following methods or properties: 'GeneratedTextTransformation.GetBlasMapping<T>(params T[])' and 'GeneratedTextTransformation.GetBlasMapping<T>(params (string, T[])[])' [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(350,15): error : Cannot infer the type of implicitly-typed deconstruction variable 'entry'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(350,22): error : Cannot infer the type of implicitly-typed deconstruction variable 'func'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(350,28): error : Cannot infer the type of implicitly-typed deconstruction variable 'type'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel1.tt(350,34): error : Cannot infer the type of implicitly-typed deconstruction variable 'elemType'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(366,47): error : The call is ambiguous between the following methods or properties: 'GeneratedTextTransformation.GetBlasMapping<T>(params T[])' and 'GeneratedTextTransformation.GetBlasMapping<T>(params (string, T[])[])' [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(366,15): error : Cannot infer the type of implicitly-typed deconstruction variable 'entry'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(366,22): error : Cannot infer the type of implicitly-typed deconstruction variable 'func'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(366,28): error : Cannot infer the type of implicitly-typed deconstruction variable 'type'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(366,34): error : Cannot infer the type of implicitly-typed deconstruction variable 'elemType'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(400,47): error : The call is ambiguous between the following methods or properties: 'GeneratedTextTransformation.GetBlasMapping<T>(params T[])' and 'GeneratedTextTransformation.GetBlasMapping<T>(params (string, T[])[])' [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(400,15): error : Cannot infer the type of implicitly-typed deconstruction variable 'entry'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(400,22): error : Cannot infer the type of implicitly-typed deconstruction variable 'func'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(400,28): error : Cannot infer the type of implicitly-typed deconstruction variable 'type'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(400,34): error : Cannot infer the type of implicitly-typed deconstruction variable 'elemType'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(430,47): error : The call is ambiguous between the following methods or properties: 'GeneratedTextTransformation.GetBlasMapping<T>(params T[])' and 'GeneratedTextTransformation.GetBlasMapping<T>(params (string, T[])[])' [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(430,15): error : Cannot infer the type of implicitly-typed deconstruction variable 'entry'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(430,22): error : Cannot infer the type of implicitly-typed deconstruction variable 'func'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(430,28): error : Cannot infer the type of implicitly-typed deconstruction variable 'type'. [D:\a\ILGPU\ILGPU\Src\ILGPU.Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
Runtime\Cuda\CuBlasMethodsLevel2.tt(430,34): error : Cannot infer the type of implicitly-typed deconstruction variable 'elemType'. [D:\a\ILGPU\ILGPU\Src\ILGPU.
Algorithms\ILGPU.Algorithms.csproj::TargetFramework=net8.0]
<snip>