Skip to content

Commit 4adac8b

Browse files
committed
[SYCL][Doc] Move internal design docs
Move all the internal design documents to a separate directory. This declutters the "sycl/doc" directory, making it easier to find the end-user documentation. It also moves several documents out of "sycl/doc/extensions" which were not actually extension specifications. We decided that the "sycl/doc/dev" directory should hold BKMs (best known methods) for developers, so rename it accordingly.
1 parent 7f59270 commit 4adac8b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+89
-69
lines changed

sycl/ReleaseNotes.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,18 @@ Release notes for commit range 4fc5ebe..bd68232
1515
- Added support for SYCL 2020 exceptions [5c0f748][eef07606][5af8c43d]
1616
- Added support for [SYCL_EXT_INTEL_BF16_CONVERSION extension](doc/extensions/experimental/SYCL_EXT_INTEL_BF16_CONVERSION.asciidoc)
1717
[8075463]
18-
- Added support for fallback implementation of [assert feature](doc/Assert.md)
18+
- Added support for fallback implementation of [assert feature](doc/internal-design/Assert.md)
1919
[56c9ec4]
2020
- Added support SYCL 2020 `sycl::logical_and` and `sycl::logical_or` operators
2121
[6c077a0]
2222
### Documentation
23-
- Added design document for [optional kernel features](doc/OptionalDeviceFeatures.md)
23+
- Added design document for [optional kernel features](doc/internal-design/OptionalDeviceFeatures.md)
2424
[88cfe16]
2525
- Added [SYCL_INTEL_bf16_conversion extension document](doc/extensions/experimental/SYCL_EXT_INTEL_BF16_CONVERSION.asciidoc)
2626
[9f8cc3af]
2727
- Align [SYCL_EXT_ONEAPI_GROUP_MASK extension](doc/extensions/supported/SYCL_EXT_ONEAPI_SUB_GROUP_MASK.asciidoc)
2828
with SYCL 2020 specification [a06bd1fb]
29-
- Added [documentation](doc/SYCLInstrumentationUsingXPTI.md) of XPTI related
29+
- Added [documentation](doc/internal-design/SYCLInstrumentationUsingXPTI.md) of XPTI related
3030
tracing in SYCL [1308fe7b]
3131
- Align `SYCL_EXT_ONEAPI_LOCAL_MEMORY` extension
3232
[document](doc/extensions/supported/SYCL_EXT_ONEAPI_LOCAL_MEMORY.asciidoc) with SYCL 2020
@@ -1104,7 +1104,7 @@ Release notes for commit range c9d50752..5d7e0925
11041104
- The SYCL library doesn't guarantee stable API/ABI, so applications compiled
11051105
with older version of the SYCL library may not work with new one.
11061106
The workaround is to rebuild the application.
1107-
[ABI policy guide](doc/ABIPolicyGuide.md)
1107+
[ABI policy guide](doc/development-bkms/ABIPolicyGuide.md)
11081108
- Using `cl::sycl::program` API to refer to a kernel defined in another
11091109
translation unit leads to undefined behavior
11101110
- Linkage errors with the following message:
@@ -1243,7 +1243,7 @@ Release notes for commit range 5976ff0..1fc0e4f
12431243
- The SYCL library doesn't guarantee stable API/ABI, so applications compiled
12441244
with older version of the SYCL library may not work with new one.
12451245
The workaround is to rebuild the application.
1246-
[ABI policy guide](doc/ABIPolicyGuide.md)
1246+
[ABI policy guide](doc/development-bkms/ABIPolicyGuide.md)
12471247
- Using `cl::sycl::program` API to refer to a kernel defined in another
12481248
translation unit leads to undefined behavior
12491249
- Linkage errors with the following message:
@@ -1431,7 +1431,7 @@ Release notes for the commit range 75b3dc2..5976ff0
14311431
- The SYCL library doesn't guarantee stable API/ABI, so applications compiled
14321432
with older version of the SYCL library may not work with new one.
14331433
The workaround is to rebuild the application.
1434-
[ABI policy guide](doc/ABIPolicyGuide.md)
1434+
[ABI policy guide](doc/development-bkms/ABIPolicyGuide.md)
14351435
- Using `cl::sycl::program` API to refer to a kernel defined in another
14361436
translation unit leads to undefined behavior
14371437
- Linkage errors with the following message:
@@ -1585,7 +1585,7 @@ Release notes for the commit range ba404be..24726df
15851585
- The SYCL library doesn't guarantee stable API/ABI, so applications compiled
15861586
with older version of the SYCL library may not work with new one.
15871587
The workaround is to rebuild the application.
1588-
[ABI policy guide](doc/ABIPolicyGuide.md)
1588+
[ABI policy guide](doc/development-bkms/ABIPolicyGuide.md)
15891589
- Using `cl::sycl::program` API to refer to a kernel defined in another
15901590
translation unit leads to undefined behavior
15911591
- Linkage errors with the following message:
@@ -1661,7 +1661,7 @@ Release notes for the commit range ba404be..67d3d9e
16611661
- Updated prerequisites in GetStartedGuide(doc/GetStartedGuide.md) [5d0d034]
16621662
- Published a [proposal](doc/extensions/KernelRHSAttributes/SYCL_INTEL_attribute_style.asciidoc)
16631663
for function-type attributes (right-sided) for kernel attributes [5d5351b]
1664-
- The [compiler and runtime design doc](doc/CompilerAndRuntimeDesign.md) has
1664+
- The [compiler and runtime design doc](doc/internal-design/CompilerAndRuntimeDesign.md) has
16651665
been updated to describe the CUDA target and reflect changed action graphs
16661666
[91b597b] [212a26c]
16671667
- [ExtendedAtomics documentation](doc/extensions/ExtendedAtomics/README.md)
@@ -1673,7 +1673,7 @@ Release notes for the commit range ba404be..67d3d9e
16731673
- Published [device_specific_kernel_queries](doc/extensions/DeviceSpecificKernelQueries/SYCL_INTEL_device_specific_kernel_queries.asciidoc)
16741674
extension which rephrases work group queries as device-specific kernel
16751675
queries [4c07ff8]
1676-
- Added more information about the [plugin interface (PI)](doc/PluginInterface.md)
1676+
- Added more information about the [plugin interface (PI)](doc/internal-design/PluginInterface.md)
16771677
[0614e9a]
16781678
- [Contribution guidelines](../CONTRIBUTING.md) were simplified, now sign-off
16791679
line is not required [7886fd8]
@@ -1736,7 +1736,7 @@ Release notes for the commit range ba404be..67d3d9e
17361736
- The SYCL library doesn't guarantee stable API/ABI, so applications compiled
17371737
with older version of the SYCL library may not work with new one.
17381738
The workaround is to rebuild the application.
1739-
[ABI policy guide](doc/ABIPolicyGuide.md)
1739+
[ABI policy guide](doc/development-bkms/ABIPolicyGuide.md)
17401740
- Using `cl::sycl::program` API to refer to a kernel defined in another
17411741
translation unit leads to undefined behavior
17421742
- Linkage errors with the following message:

sycl/doc/FAQ.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ compiler command-line interface in general, please refer to the
5858
To learn more about the concepts behind this flow, and the DPC++
5959
Compiler internals as such, we welcome you to study our
6060
[DPC++ Compiler and Runtime architecture design](
61-
CompilerAndRuntimeDesign.md) document.
61+
internal-design/CompilerAndRuntimeDesign.md) document.
6262

6363

6464
## Using applications built with DPC++
@@ -150,7 +150,7 @@ debugging tools of your choice for the host device code.
150150

151151
Furthermore, developers can extend capabilities of the DPC++ Runtime to
152152
non-OpenCL devices by writing correspondent plugins. To learn more, please
153-
check out our [Plugin Interface Guide](PluginInterface.md).
153+
check out our [Plugin Interface Guide](internal-design/PluginInterface.md).
154154

155155
### Q: DPC++ applications hang on Intel GPUs while working well on other devices
156156
**A:** One of the common reasons is Intel GPUs feature called "hang check".

sycl/doc/GetStartedGuide.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ docker run --name sycl_build -it -v /local/workspace/dir/:/src ghcr.io/intel/llv
5454
```
5555

5656
This command will start a terminal session, from which you can proceed with the
57-
instructions below. See [Docker BKMs](dev/DockerBKMs.md) for more info on Docker
57+
instructions below. See [Docker BKMs](development-bkms/DockerBKMs.md) for more info on Docker
5858
commands.
5959

6060
### Create DPC++ workspace
@@ -434,7 +434,7 @@ command:
434434
435435
### Obtain prerequisites for ahead of time (AOT) compilation
436436
437-
[Ahead of time compilation](CompilerAndRuntimeDesign.md#ahead-of-time-aot-compilation)
437+
[Ahead of time compilation](internal-design/CompilerAndRuntimeDesign.md#ahead-of-time-aot-compilation)
438438
requires ahead of time compiler available in `PATH`. There is
439439
AOT compiler for each device type:
440440
@@ -660,7 +660,7 @@ clang++ -fsycl -fsycl-targets=spir64_gen,spir64_x86_64 simple-sycl-app.cpp -o si
660660
661661
Additionally, user can pass specific options of AOT compiler to
662662
the DPC++ compiler using ```-Xsycl-target-backend``` option, see
663-
[Device code formats](CompilerAndRuntimeDesign.md#device-code-formats) for
663+
[Device code formats](internal-design/CompilerAndRuntimeDesign.md#device-code-formats) for
664664
more. To find available options, execute:
665665
666666
```ocloc compile --help``` for GPU,

sycl/doc/conf.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,33 @@
4646
# The suffix of source filenames.
4747
source_suffix = ['.rst', '.md']
4848

49-
# Extensions are mostly in asciidoc which has poor support in Sphinx
50-
exclude_patterns = ['extensions/*']
49+
exclude_patterns = [
50+
# Extensions are mostly in asciidoc which has poor support in Sphinx.
51+
'extensions/*',
52+
53+
# Sphinx complains about syntax errors in these files.
54+
'internal-design/DeviceLibExtensions.rst',
55+
'internal-design/SYCLPipesLoweringToSPIRV.rst',
56+
'internal-design/fpga_io_pipes_design.rst',
57+
'internal-design/Reduction_status.md'
58+
]
5159

5260
suppress_warnings = [ 'misc.highlighting_failure' ]
5361

5462
def on_missing_reference(app, env, node, contnode):
55-
new_target = "https://github.com/intel/llvm/tree/sycl/sycl/doc/" + node['reftarget']
63+
# Get the directory that contains the *source* file of the link. These
64+
# files are always relative to the directory containing "conf.py"
65+
# (<top>/sycl/doc). For example, the file "sycl/doc/internal-design/foo.md"
66+
# will have a directory "internal-design".
67+
refdoc_components = node['refdoc'].split('/')
68+
dirs = '/'.join(refdoc_components[:-1])
69+
if dirs: dirs += '/'
70+
71+
# A missing reference usually occurs when the target file of the link is
72+
# not processed by Sphinx. Compensate by creating a link that goes to the
73+
# file's location in the GitHub repo.
74+
new_target = "https://github.com/intel/llvm/tree/sycl/sycl/doc/" + dirs + \
75+
node['reftarget']
5676

5777
newnode = nodes.reference('', '', internal=False, refuri=new_target)
5878
newnode.append(contnode)

sycl/doc/ABIPolicyGuide.md renamed to sycl/doc/development-bkms/ABIPolicyGuide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,4 @@ Whenever you need to change the existing ABI, please, follow these steps:
118118
1. If there is a need to add a new field in `sycl::handler` or/and
119119
`sycl::detail::CG` classes it can be done without breaking ABI using the
120120
approach described in the comment at the beggining of
121-
[cg.hpp](../include/CL/sycl/detail/cg.hpp)
121+
[cg.hpp](../../include/CL/sycl/detail/cg.hpp)
File renamed without changes.

sycl/doc/extensions/experimental/SYCL_EXT_INTEL_ESIMD/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ extension.
8181
8282
##### Features not supported with ESIMD extension:
8383
- The [C and C++ Standard libraries support](../supported/C-CXX-StandardLibrary.rst)
84-
- The [Device library extensions](https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/C-CXX-StandardLibrary/DeviceLibExtensions.rst)
84+
- The [Device library extensions](../../../internal-design/DeviceLibExtensions.rst)
8585
- Host device
8686
8787
##### Unsupported standard SYCL APIs:

sycl/doc/extensions/supported/C-CXX-StandardLibrary.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,8 @@ Device compiler
238238
Device compiler is free to implement these `__devicelib_*` functions.
239239
In order to indicate support for a particular set of functions,
240240
underlying runtime have to support the corresponding OpenCL (PI)
241-
extension. See ``DeviceLibExtensions.rst`` for a list of supported
242-
functions and corresponding extensions.
241+
extension. See ``../../internal-design/DeviceLibExtensions.rst`` for
242+
a list of supported functions and corresponding extensions.
243243

244244
Fallback implementation
245245
=======================

sycl/doc/images/missing_sycl_dll.png

100755100644
File mode changed.

sycl/doc/index.rst

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Using oneAPI DPC++ for Application Development
1616
FAQ
1717
User API Reference <https://intel.github.io/llvm-docs/doxygen/group__sycl__api.html>
1818
EnvironmentVariables
19+
MultiTileCardWithLevelZero
1920

2021
Developing oneAPI DPC++ Compiler
2122
--------------------------------
@@ -26,27 +27,26 @@ Developing oneAPI DPC++ Compiler
2627
API Reference <https://intel.github.io/llvm-docs/doxygen>
2728
Clang Documentation <https://intel.github.io/llvm-docs/clang>
2829
Clang API Reference <https://intel.github.io/llvm-docs/clang_doxygen>
29-
CompilerAndRuntimeDesign
30-
KernelParameterPassing
31-
PluginInterface
32-
ABIPolicyGuide
33-
SpecializationConstants
34-
KernelProgramCache
35-
GlobalObjectsInRuntime
36-
LinkedAllocations
37-
Assert
38-
SharedLibraries
39-
MultiTileCardWithLevelZero
40-
OptionalDeviceFeatures
41-
SYCLInstrumentationUsingXPTI
42-
ITTAnnotations
43-
DeviceGlobal
44-
CompileTimeProperties
30+
internal-design/CompilerAndRuntimeDesign
31+
internal-design/KernelParameterPassing
32+
internal-design/PluginInterface
33+
internal-design/SpecializationConstants
34+
internal-design/KernelProgramCache
35+
internal-design/GlobalObjectsInRuntime
36+
internal-design/LinkedAllocations
37+
internal-design/Assert
38+
internal-design/SharedLibraries
39+
internal-design/OptionalDeviceFeatures
40+
internal-design/SYCLInstrumentationUsingXPTI
41+
internal-design/ITTAnnotations
42+
internal-design/DeviceGlobal
43+
internal-design/CompileTimeProperties
4544

4645
Development BKMs
4746
~~~~~~~~~~~~~~~~
4847

4948
.. toctree::
5049
:maxdepth: 1
5150

52-
dev/DockerBKMs
51+
development-bkms/DockerBKMs
52+
development-bkms/ABIPolicyGuide

0 commit comments

Comments
 (0)