Skip to content
Snippets Groups Projects

Clean up kernel creation code in `codegen.driver`. Fix and dry-test SYCL codegen.

Merged Frederik Hennig requested to merge fhennig/fix-sycl-codegen into v2.0-dev

!449 (merged) accidentally broke SYCL code generation since SYCL kernels do not receive a launch config, but their kernel object expected one since it was being modelled as a GPU kernel.

This MR fixes this, alongside a few other improvements:

  • Target.SYCL is no longer a GPU target
  • SyclPlatform no longer inherits from platforms.GenericGpu, but directly from platforms.Platform.
  • Emit SYCL kernels using codegen.Kernel instead of codegen.GpuKernel
  • Combine the various kernel creation utility functions in codegen.driver into a KernelFactory class for cleaner code
  • Move creation of Lambdas from Lambda.from_expression to KernelFactory.create_lambda
  • Add dry-dock tests for SYCL code generation that only test if the codegen driver runs successfully

Relates to #126

Edited by Frederik Hennig

Merge request reports

Pipeline #74264 passed

Pipeline passed for 422a2494 on fhennig/fix-sycl-codegen

Test coverage 82.51% (0.54%) from 3 jobs
Approved by

Merged by Frederik HennigFrederik Hennig 1 month ago (Feb 19, 2025 10:22am UTC)

Merge details

  • Changes merged into v2.0-dev with ae169020 (commits were squashed).
  • Deleted the source branch.

Pipeline #74268 passed

Pipeline passed for ae169020 on v2.0-dev

Test coverage 82.51% (0.54%) from 3 jobs

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply