oneIPL ArchitectureΒΆ

The oneIPL element of oneAPI has several general assumptions, requirements and recommendations addressed in this architecture section. In particular, DPC++ allows for a great control over the execution of kernels on the various devices. See the discussion on the supported execution models of oneIPL APIs in Execution Model. The discussion of how data is stored and passed in and out of the APIs is addressed in Memory Model. The general structure and design of oneIPL APIs including namespaces and common data types are expressed in API Design. The exceptions and error handling are described in Error Handling. The other necessary aspects related to oneIPL architecture can be found in Other Features, including versioning and discussion of pre and post conditions.