One Pass to Bind Them: The First Single-Pass SYCL Compiler with Unified Code Representation Across Backends
Aksel Alpay, Vincent Heuveline
Abstract
Current SYCL implementations rely on multiple compiler invocations to generate code for host and device, and typically even employ one compiler invocation per required backend code format such as SPIR-V, PTX or amdgcn. This makes generating “universal” binaries that can run on all devices supported by a SYCL implementation very time-consuming, or outright impractical. The ability to generate such universal binaries is however important e.g. when a software vendor wishes to distribute binaries to users that rely on unknown hardware configurations.
Topics & Concepts
CompilerComputer scienceProgramming languageCode (set theory)VendorImplementationSoftwareHost (biology)Source codeRepresentation (politics)Parallel computingOperating systemSet (abstract data type)MarketingBiologyPolitical scienceBusinessEcologyLawPoliticsParallel Computing and Optimization TechniquesMicrofluidic and Capillary Electrophoresis ApplicationsElectrowetting and Microfluidic Technologies