================
@@ -1,119 +1,542 @@
-=============================================
-SYCL Compiler and Runtime architecture design
-=============================================
+============
+SYCL Support
+============
 
 .. contents::
    :local:
 
 Introduction
 ============
+The `SYCL 2020 specification <SYCL-2020_>`_ defines a single-source programming
+model and C++ run-time library interface for writing portable programs that
+support heterogeneous devices including GPUs, CPUs, and accelerators.
+The specification is intended to allow for a wide range of implementation
+possibilities, examples of which include:
+
+- A SYCL run-time library written in standard C++ that executes kernels on a
+  homogeneous set of host and device processors, each of which can execute
+  common compiled code from shared memory.
+- A SYCL run-time library that executes kernels on a heterogeneous set of
+  device processors for which each kernel is pre-compiled for each supported
+  device processor (Ahead-Of-Time (AOT) compilation) or for a family of device
+  processors (Just-In-Time (JIT) compilation).
+
+Since Clang is a conforming implementation of the C++ standard, no additional
+features are required for support of the first implementation strategy.
+This document details the core language features Clang provides for use by
+SYCL run-time libraries that use the second implementation strategy.
+
+.. _SYCL-2020:
+   https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html
+
+
+Example Usage
+=============
+SYCL is designed as an extension of C++ rather than as a distinct programming
+language.
+SYCL support is enabled with the `-fsycl <opt-fsycl_>`_ option.
+
+.. code-block:: sh
+
+   clang++ -c -fsycl source-file.cpp
+
+The choice of which target devices will be supported is made at compile time.
----------------
elizabethandrews wrote:

> What I was trying to convey is that the set of target devices that are 
> eligible for use at run-time is constrained by choices made at compile-time.

I still don't quite get this. 

https://github.com/llvm/llvm-project/pull/170602
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to