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

Loading
Loading

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