================
@@ -683,24 +696,55 @@ There are a few items worthy of note:
    or more parameters depending on how the SYCL library implementation defines
    these types.
 
-#. The call to ``kernel_entry_point()`` has no effect other than to trigger
-   emission of the entry point function. The statments that make up the body
-   of the function are not executed when the function is called; they are
-   only used in the generation of the entry point function.
+The call to ``kernel_entry_point()`` by ``single_task()`` is effectively
+replaced with synthesized code that looks approximately as follows.
+
+.. code-block:: c++
+
+  sycl::stream sout = Kernel.sout;
----------------
tahonermann wrote:

Thank you for point out that the use of `Kernel` here wasn't particularly 
clear. When I went and read back through the doc, I found quite a bit I wasn't 
very happy with, so I did quite a bit of rewriting today. I hope it is better 
than it was.

I kept use of `sycl::stream` in the example for now because it is conceptually 
easy to understand; it evokes thoughts of hello world generally. However, I 
took out all of the mention of kernel argument decomposition and reconstruction 
since such support hasn't been implemented yet. The stream class is barely 
mentioned now, so hopefully that helps. Use of USM would make for a simple 
example, but it hides the host/device distinction that I think is important to 
understand. Use of buffers and accessors would be ok, but makes the example 
more complicated. Maybe we can revisit this as part of adding support for SYCL 
special types; that might require a more realistic example anyway.

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

Reply via email to