diff --git a/README.md b/README.md
index 1527d51f0a..b374047ea2 100644
--- a/README.md
+++ b/README.md
@@ -107,7 +107,7 @@ for more details.
* [Frequently Asked Questions](https://github.com/intel/compute-runtime/blob/master/FAQ.md)
### Level Zero specific
-* [oneAPI Level Zero specification](https://spec.oneapi.com/versions/latest/elements/l0/source/index.html)
+* [oneAPI Level Zero specification](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/index.html)
* [Intel(R) OneApi Level Zero Specification API C/C++ header files](https://github.com/oneapi-src/level-zero/)
* [oneAPI Level Zero tests](https://github.com/oneapi-src/level-zero-tests/)
diff --git a/level_zero/doc/RELEASENOTES_CORE.md b/level_zero/doc/RELEASENOTES_CORE.md
index b2573d8cfd..49a8cfaab1 100644
--- a/level_zero/doc/RELEASENOTES_CORE.md
+++ b/level_zero/doc/RELEASENOTES_CORE.md
@@ -18,11 +18,11 @@ The update involves changes introduced in Level Zero spec v1.6. Some of the impo
| Feature | Spec link | Notes |
| ------------------ | -------------------| ----------------------------- |
-| Support for zeCommandListHostSynchronize API | https://spec.oneapi.io/level-zero/latest/core/api.html#zecommandlisthostsynchronize | |
-| Support for zeDriverGetLastErrorDescription API | https://spec.oneapi.io/level-zero/latest/core/api.html#zedrivergetlasterrordescription | |
-| Support for zeMemPutIpcHandle API | https://spec.oneapi.io/level-zero/latest/core/api.html#zememputipchandle | |
-| Support for EventPool Get and put IPC handle APIs | https://spec.oneapi.io/level-zero/latest/core/api.html#zeeventpoolgetipchandle , https://spec.oneapi.io/level-zero/latest/core/api.html#zeeventpoolputipchandle | |
-| Support for host mapped and synchronized event timestamp extension API | https://spec.oneapi.io/level-zero/latest/core/api.html#eventquerykerneltimestamps | |
+| Support for zeCommandListHostSynchronize API | https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#zecommandlisthostsynchronize | |
+| Support for zeDriverGetLastErrorDescription API | https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#zedrivergetlasterrordescription | |
+| Support for zeMemPutIpcHandle API | https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#zememputipchandle | |
+| Support for EventPool Get and put IPC handle APIs | https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#zeeventpoolgetipchandle , https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#zeeventpoolputipchandle | |
+| Support for host mapped and synchronized event timestamp extension API | https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#eventquerykerneltimestamps | |
# Release Notes v1.5
@@ -36,11 +36,11 @@ The update involves changes introduced across Level Zero spec from v1.3 upto and
| Feature | Spec link | Notes |
| ------------------ | -------------------| ----------------------------- |
-| Support for Device IP Version extension | https://spec.oneapi.io/level-zero/latest/core/api.html#deviceipversion-structures | |
-| Support for Image view and Image view planar extension | https://spec.oneapi.io/level-zero/latest/core/api.html#imageview | |
-| Support for sub allocation properties extension | https://spec.oneapi.io/level-zero/latest/core/api.html#suballocationsproperties | |
+| Support for Device IP Version extension | https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#deviceipversion-structures | |
+| Support for Image view and Image view planar extension | https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#imageview | |
+| Support for sub allocation properties extension | https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#suballocationsproperties | |
| Allow IPC events with timestamp events | | Previously spec had limitation disallowing usage of IPC for event pools created with timestamp flag. This limitation is now removed for both spec and implemenation |
-| Support for kernel max group size properties extension | https://spec.oneapi.io/level-zero/latest/core/api.html#kernelmaxgroupsizeproperties | |
+| Support for kernel max group size properties extension | https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#kernelmaxgroupsizeproperties | |
# Release Notes v1.3
@@ -55,15 +55,15 @@ January 2022
Implicit scaling has been enabled by default on Level Zero on Xe HPC (PVC) B and later steppings. The `EnableImplicitScaling` debug key may be used to enable (`EnableImplicitScaling=1`) or disable (`EnableImplicitScaling=0`) implicit scaling on on Xe HPC and other multi-tile architectures.
-### [Blocking Free](https://spec.oneapi.io/level-zero/latest/core/api.html#zememfreeext)
+### [Blocking Free](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#zememfreeext)
The blocking free memory policy has been implemented for `zeMemFreeExt` extension. Defer free policy will be added in upcoming releases.
-### [PCI Properties Extension](https://spec.oneapi.io/level-zero/latest/core/EXT_PCIProperties.html#pci-properties-extension)
+### [PCI Properties Extension](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/EXT_PCIProperties.html#pci-properties-extension)
Support for PCI properties extension has been added via `zeDevicePciGetPropertiesExt` interface. This currently provides access to device's BDF address only. Device bandwidth property will be exposed in future based on support from underlying components
-### [Memory Compression Hints](https://spec.oneapi.io/level-zero/latest/core/EXT_MemoryCompressionHints.html#memory-compression-hints-extension)
+### [Memory Compression Hints](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/EXT_MemoryCompressionHints.html#memory-compression-hints-extension)
Memory compression hints for shared and device memory allocations and images have been added.
@@ -82,7 +82,7 @@ August 2021
## Changes in this release:
-### [Extension to create image views for planar formats](https://spec.oneapi.com/level-zero/latest/core/api.html?highlight=relaxed#relaxedalloclimits-enums)
+### [Extension to create image views for planar formats](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/EXT_ImageViewPlanar.html#ze-extension-image-view-planar)
This extension allows accessing each plane for planar formats and have different interpretations of created images.
@@ -90,11 +90,11 @@ Sample code:
[https://github.com/intel/compute-runtime/blob/master/level_zero/core/test/black_box_tests/zello_image_view.cpp](https://github.com/intel/compute-runtime/blob/master/level_zero/core/test/black_box_tests/zello_image_view.cpp)
-### [Extension for querying image properties](https://spec.oneapi.io/level-zero/latest/core/api.html?highlight=ze_image_memory_properties_exp_t#_CPPv432ze_image_memory_properties_exp_t)
+### [Extension for querying image properties](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=ze_image_memory_properties_exp_t#_CPPv432ze_image_memory_properties_exp_t)
This extension allows querying the different properties of an image, such as size, row pitch, and slice pitch.
-### [Definition of ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES_1_2 properties](https://spec.oneapi.io/level-zero/latest/core/api.html?highlight=ze_structure_type_device_properties_1_2#_CPPv439ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES_1_2)
+### [Definition of ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES_1_2 properties](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#_CPPv4N19ze_structure_type_t39ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES_1_2E)
`ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES_1_2` properties allows users to request driver to return timer resolution in cycles per seconds,
as defined v1.2 specification:
@@ -122,36 +122,36 @@ zeDeviceGetProperties(device, &devProperties);
uint64_t timerResolutionInNanoSeconds = devProperties.timerResolution;
```
### Extension to set preferred allocation for USM shared allocations
-[`ZE_DEVICE_MEM_ALLOC_FLAG_BIAS_INITIAL_PLACEMENT`](https://spec.oneapi.io/level-zero/latest/core/api.html?highlight=mem_alloc_flag_bias_initial_placement#_CPPv447ZE_DEVICE_MEM_ALLOC_FLAG_BIAS_INITIAL_PLACEMENT) and [`ZE_HOST_MEM_ALLOC_FLAG_BIAS_INITIAL_PLACEMENT`](https://spec.oneapi.io/level-zero/latest/core/api.html?highlight=mem_alloc_flag_bias_initial_placement#_CPPv445ZE_HOST_MEM_ALLOC_FLAG_BIAS_INITIAL_PLACEMENT) can now be set in
+[`ZE_DEVICE_MEM_ALLOC_FLAG_BIAS_INITIAL_PLACEMENT`](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#_CPPv4N26ze_device_mem_alloc_flag_t47ZE_DEVICE_MEM_ALLOC_FLAG_BIAS_INITIAL_PLACEMENTE) and [`ZE_HOST_MEM_ALLOC_FLAG_BIAS_INITIAL_PLACEMENT`](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#_CPPv4N24ze_host_mem_alloc_flag_t45ZE_HOST_MEM_ALLOC_FLAG_BIAS_INITIAL_PLACEMENTE) can now be set in
`ze_device_mem_alloc_flags_t` and `ze_host_mem_alloc_flags_t`, respectively, when creating a shared-alloaction, to indicate
the driver where a shared-allocation should be initially placed.
-### [IPC Memory Cache Bias Flags](https://spec.oneapi.io/level-zero/latest/core/api.html?highlight=ze_ipc_memory_flag_bias_cached#ze-ipc-memory-flags-t)
+### [IPC Memory Cache Bias Flags](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=ze_ipc_memory_flag_bias_cached#ze-ipc-memory-flags-t)
`ZE_IPC_MEMORY_FLAG_BIAS_CACHED` and `ZE_IPC_MEMORY_FLAG_BIAS_UNCACHED ` can be passed when opening an IPC
memory handle with `zeMemOpenIpcHandle` to set the cache settings of the imported allocation.
-### [Support for preferred group size](https://spec.oneapi.io/level-zero/latest/core/api.html?highlight=ze_kernel_preferred_group_size_properties_t#ze-kernel-preferred-group-size-properties-t)
+### [Support for preferred group size](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=ze_kernel_preferred_group_size_properties_t#ze-kernel-preferred-group-size-properties-t)
`ze_kernel_preferred_group_size_properties_t` can be used through `zeKernelGetProperties` to query for the preferred
multiple group size of a kernel for submission. Submitting a kernel with the preferred group size returned by the driver
may improve performance in certain platforms.
-### [Module compilation options](https://spec.oneapi.io/level-zero/latest/core/PROG.html#module-build-options)
+### [Module compilation options](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/PROG.html#module-build-options)
Optimization levels can now be passed to `zeModuleCreate` using the `-ze-opt-level` option, which are then communicated
to the underlying graphics compiler as hint to indicate the level of optimization desired.
-### [Extension to read the timestamps of each subdevice](https://spec.oneapi.io/level-zero/latest/core/api.html?highlight=zeeventquerytimestampsexp#zeeventquerytimestampsexp)
+### [Extension to read the timestamps of each subdevice](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=zeeventquerytimestampsexp#zeeventquerytimestampsexp)
This extension defines the `zeEventQueryTimestampsExp` interface to query for timestamps of the parent device or
all of the available subdevices.
-### [Extension to set thread arbitration policy](https://spec.oneapi.io/level-zero/latest/core/api.html?highlight=ze_structure_type_device_properties_1_2#kernelschedulinghints)
+### [Extension to set thread arbitration policy](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=ze_structure_type_device_properties_1_2#kernelschedulinghints)
The `zeKernelSchedulingHintExp` interface allows applications to set the thread arbitration policy desired for the
target kernel. Avaialable policies can be queried by application through `zeDeviceGetModuleProperties` with the
-[`ze_scheduling_hint_exp_properties_t`](https://spec.oneapi.io/level-zero/latest/core/api.html?highlight=ze_scheduling_hint_exp_properties_t#_CPPv435ze_scheduling_hint_exp_properties_t) structure.
+[`ze_scheduling_hint_exp_properties_t`](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=ze_scheduling_hint_exp_properties_t#_CPPv435ze_scheduling_hint_exp_properties_t) structure.
Policies include:
@@ -159,7 +159,7 @@ Policies include:
* `ZE_SCHEDULING_HINT_EXP_FLAG_ROUND_ROBIN`
* `ZE_SCHEDULING_HINT_EXP_FLAG_STALL_BASED_ROUND_ROBIN`
-### [Extension for cache reservation](https://spec.oneapi.io/level-zero/latest/core/EXT_CacheReservation.html#cache-reservation-extension)
+### [Extension for cache reservation](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/EXT_CacheReservation.html#cache-reservation-extension)
With `zeDeviceReserveCacheExt`, applications can reserve sections of the GPU cache for exclusive use. Cache level
support varies between platforms.
@@ -176,7 +176,7 @@ April 2021
## Changes in this release:
### Device allocations larger than 4GB size.
-https://spec.oneapi.com/level-zero/latest/core/api.html?highlight=relaxed#relaxedalloclimits-enums
+https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=relaxed#relaxedalloclimits-enums
L0 driver now allows the allocation of buffers larger than 4GB. To use, the `ze_relaxed_allocation_limits_exp_desc_t`
structure needs to be passed to `zeMemAllocHost` or `zeMemAllocShared` as a linked descriptor.
@@ -197,7 +197,7 @@ In addition to this, kernels need to be compiled with `ze-opt-greater-than-4GB-b
passed in `pBuildFlags` field in `ze_module_desc_t` descriptor while calling `zeModuleCreate`.
### zeDeviceGetGlobalTimestamps for CPU/GPU synchronized time.
-https://spec.oneapi.com/level-zero/latest/core/api.html?highlight=zedevicegetglobaltimestamps#_CPPv427zeDeviceGetGlobalTimestamps18ze_device_handle_tP8uint64_tP8uint64_t
+https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=zedevicegetglobaltimestamps#_CPPv427zeDeviceGetGlobalTimestamps18ze_device_handle_tP8uint64_tP8uint64_t
Returns synchronized Host and device global timestamps.
@@ -214,7 +214,7 @@ zeMemAllocDevice(context, &deviceDesc, size, 0, device, &ptr);
```
### Global work offset
-https://spec.oneapi.com/level-zero/latest/core/api.html?highlight=globaloffset#_CPPv426zeKernelSetGlobalOffsetExp18ze_kernel_handle_t8uint32_t8uint32_t8uint32_t
+https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=globaloffset#_CPPv426zeKernelSetGlobalOffsetExp18ze_kernel_handle_t8uint32_t8uint32_t8uint32_t
Applications now can set a global work offset to kernels.
@@ -235,7 +235,7 @@ zeKernelSetGlobalOffsetExp(kernel, offsetx, offsety, offsetz);
```
### Atomic floating point properties
-https://spec.oneapi.com/level-zero/latest/core/api.html?highlight=ze_structure_type_float_atomic_ext_properties#_CPPv432ze_float_atomic_ext_properties_t
+https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=ze_structure_type_float_atomic_ext_properties#_CPPv432ze_float_atomic_ext_properties_t
Applications now can query for floating atomic properties supported by the device in a kernel.
This is done by passing `ze_float_atomic_ext_properties_t` to zeDeviceGetModuleProperties as a linked property structure.
@@ -255,7 +255,7 @@ if (extendedProperties.fp16Flags & ZE_DEVICE_FP_ATOMIC_EXT_FLAG_GLOBAL_ADD) {
```
### Context Creation for specific devices
-https://spec.oneapi.com/level-zero/latest/core/api.html?highlight=zecontextcreate#_CPPv417zeContextCreateEx18ze_driver_handle_tPK17ze_context_desc_t8uint32_tP18ze_device_handle_tP19ze_context_handle_t
+https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=zecontextcreate#_CPPv417zeContextCreateEx18ze_driver_handle_tPK17ze_context_desc_t8uint32_tP18ze_device_handle_tP19ze_context_handle_t
Added `zeContextCreateEX` to create a context with a set of devices. Resources allocated against that context
are visible only to the devices for which the context was created.
@@ -271,7 +271,7 @@ zeContextCreateEx(hDriver, &desc, devices.size(), devices.data(), &phContext);
```
### Change on timer resolution
-https://spec.oneapi.com/level-zero/latest/core/api.html?highlight=timerresolution#_CPPv4N22ze_device_properties_t15timerResolutionE
+https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=timerresolution#_CPPv4N22ze_device_properties_t15timerResolutionE
Time resolution returned by device properties has been changed to cycles/second (v1.0 has a resolution of nano-seconds).
To help libraries with the transtition to the new resolution, the `UseCyclesPerSecondTimer` variable has been defined.
diff --git a/level_zero/doc/experimental_extensions/DRIVER_EXPERIMENTAL_EXTENSIONS.md b/level_zero/doc/experimental_extensions/DRIVER_EXPERIMENTAL_EXTENSIONS.md
index 2e7858c4e5..a81c86e635 100644
--- a/level_zero/doc/experimental_extensions/DRIVER_EXPERIMENTAL_EXTENSIONS.md
+++ b/level_zero/doc/experimental_extensions/DRIVER_EXPERIMENTAL_EXTENSIONS.md
@@ -13,7 +13,7 @@ SPDX-License-Identifier: MIT
The following document describes the driver experimental extensions implemented in the Level Zero Intel(R) GPU driver. These extensions are meant to test and/or gather feedback on interfaces before they could potentially be added Level Zero specification, as well to provide access to functionality specific to Intel(R) GPUs.
-Driver extensions may be defined as APIs (interfaces), flags, or environment variables. In the case of interfaces, these shall be accessed through [zeDriverGetExtensionFunctionAddress](https://spec.oneapi.io/level-zero/latest/core/api.html?highlight=zedrivergetextensionfunctionaddress#_CPPv435zeDriverGetExtensionFunctionAddress18ze_driver_handle_tPKcPPv). Sample code:
+Driver extensions may be defined as APIs (interfaces), flags, or environment variables. In the case of interfaces, these shall be accessed through [zeDriverGetExtensionFunctionAddress](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=zedrivergetextensionfunctionaddress#_CPPv435zeDriverGetExtensionFunctionAddress18ze_driver_handle_tPKcPPv). Sample code:
```cpp
diff --git a/level_zero/doc/experimental_extensions/MULTI_CCS_MODES.md b/level_zero/doc/experimental_extensions/MULTI_CCS_MODES.md
index df9297134b..497e7b11a3 100644
--- a/level_zero/doc/experimental_extensions/MULTI_CCS_MODES.md
+++ b/level_zero/doc/experimental_extensions/MULTI_CCS_MODES.md
@@ -20,7 +20,7 @@ Xe HPC (PVC) contains 4 CCSs (Compute-Command Streamers) per tile, which can be
- All EUs may be assigned to a single CCS, on which case, only 1 CCS is needed to be exposed to users.
- EUs may be distributed equally among the 4 CCSs, and all CCSs are exposed.
-Applications query for the number of CCSs exposed in the target device by using Level Zero queue groups [https://spec.oneapi.io/level-zero/latest/core/PROG.html#command-queue-groups](https://spec.oneapi.io/level-zero/latest/core/PROG.html#command-queue-groups).
+Applications query for the number of CCSs exposed in the target device by using Level Zero queue groups [https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/PROG.html#command-queue-groups](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/PROG.html#command-queue-groups).
Depending on their execution patterns, applications may benefit more from using one or other configuration: Some may benefit from using 1 single CCS to access all EUs, while others may benefit from using more than 1 CCS, each with a fixed number of assigned EUs. For instance:
diff --git a/programmers-guide/ALLOCATIONS_GREATER_THAN_4GB.md b/programmers-guide/ALLOCATIONS_GREATER_THAN_4GB.md
index 672f8cd6b6..af371de064 100644
--- a/programmers-guide/ALLOCATIONS_GREATER_THAN_4GB.md
+++ b/programmers-guide/ALLOCATIONS_GREATER_THAN_4GB.md
@@ -149,6 +149,6 @@ When above flags are passed, compiler compiles kernels in a stateless addressing
# References
-https://spec.oneapi.io/level-zero/latest/core/api.html#relaxedalloclimits
+https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#relaxedalloclimits
-https://spec.oneapi.io/level-zero/latest/core/api.html#ze-module-desc-t
+https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#ze-module-desc-t
diff --git a/programmers-guide/METRICS.md b/programmers-guide/METRICS.md
index 7f5ccb194d..ec02ecf46f 100644
--- a/programmers-guide/METRICS.md
+++ b/programmers-guide/METRICS.md
@@ -18,7 +18,7 @@ SPDX-License-Identifier: MIT
# Introduction
-Implementation independent details of Level-Zero metrics are described in the Level-Zero specification [Metrics Section](https://spec.oneapi.io/level-zero/latest/tools/PROG.html#metrics). This implementation supports Time-based and Event-based sampling. Two domains are supported, one for collecting GPU performance metrics and one for collecting EU stall sampling data (type ZET_METRIC_TYPE_IP).
+Implementation independent details of Level-Zero metrics are described in the Level-Zero specification [Metrics Section](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/tools/PROG.html#metrics). This implementation supports Time-based and Event-based sampling. Two domains are supported, one for collecting GPU performance metrics and one for collecting EU stall sampling data (type ZET_METRIC_TYPE_IP).
# Dependencies
@@ -29,7 +29,7 @@ Metrics collection depends on:
# Environment Setup
-As described in Level-Zero specification [Tools Section](https://spec.oneapi.io/level-zero/latest/tools/PROG.html#environment-variables) environment variable `ZET_ENABLE_METRICS` must be set to 1.
+As described in Level-Zero specification [Tools Section](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/tools/PROG.html#environment-variables) environment variable `ZET_ENABLE_METRICS` must be set to 1.
## Linux
Additionally in Linux environment, is is required to disable the kernel module driver i915 performance stream paranoid mode. This can be done with command
@@ -92,8 +92,8 @@ Using Level-Zero Loader Tracing Layer register epilog callbacks for L0 APIs. See
2. Store the disassembled GPU kernel code.
### Metrics collection:
-1. Enumerate available metric groups and query properties for metrics in each group. Match the metric group named "EU stall sampling", which contains the metric type ZET_METRIC_TYPE_IP. See high level generic steps at https://spec.oneapi.io/level-zero/latest/tools/PROG.html#enumeration
-2. Open a streamer to collect metrics in "EU stall sampling" metric group. See high level generic steps at https://spec.oneapi.io/level-zero/latest/tools/PROG.html#metric-streamer
+1. Enumerate available metric groups and query properties for metrics in each group. Match the metric group named "EU stall sampling", which contains the metric type ZET_METRIC_TYPE_IP. See high level generic steps at https://oneapi-src.github.io/level-zero-spec/level-zero/latest/tools/PROG.html#enumeration
+2. Open a streamer to collect metrics in "EU stall sampling" metric group. See high level generic steps at https://oneapi-src.github.io/level-zero-spec/level-zero/latest/tools/PROG.html#metric-streamer
3. Run workload using Level-Zero Core APIs.
4. Read metrics data (zetMetricStreamerReadData()) and calculate metrics values (zetMetricGroupCalculateMultipleMetricValuesExp()).
diff --git a/programmers-guide/MODULE_SYMBOL_SUPPORT.md b/programmers-guide/MODULE_SYMBOL_SUPPORT.md
index 14a4e1012d..298d1cf402 100644
--- a/programmers-guide/MODULE_SYMBOL_SUPPORT.md
+++ b/programmers-guide/MODULE_SYMBOL_SUPPORT.md
@@ -35,7 +35,7 @@ To enable the ability for a Module to export Symbols, the Intel Graphics Compile
- `-library-compilation` : Enables IGC to export Functions other than kernels as symbols.
# Function Pointers
-Function Pointers are supported in Level Zero through the API `https://spec.oneapi.io/level-zero/latest/core/api.html?highlight=functionpointer#_CPPv426zeModuleGetFunctionPointer18ze_module_handle_tPKcPPv`
+Function Pointers are supported in Level Zero through the API `https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=functionpointer#_CPPv426zeModuleGetFunctionPointer18ze_module_handle_tPKcPPv`
Function pointers refer to non-kernel functions reported as an `export` symbol in the module.
@@ -56,18 +56,18 @@ And during llvm-spirv compile, use of the SPIRv function pointer extension:
# Global Variables
Global Variables in SPIRv Modules are reported and accessed through export symbols when the module is compiled with `-ze-take-global-address`.
-The memory address retrieved from the API `https://spec.oneapi.io/level-zero/latest/core/api.html?highlight=getglobal#_CPPv424zeModuleGetGlobalPointer18ze_module_handle_tPKcP6size_tPPv`
+The memory address retrieved from the API `https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html?highlight=getglobal#_CPPv424zeModuleGetGlobalPointer18ze_module_handle_tPKcP6size_tPPv`
Is device-only and must not be read on the host otherwise one will access invalid memory. Only usage of the memory on the device is allowed.
# Dynamic Module Linking
Dynamic Module Linking or Linking L0 Modules to other L0 Modules to resolve imported symbols is enabled through the following L0 APIs:
-`https://spec.oneapi.io/level-zero/latest/core/api.html#zemoduledynamiclink`
+`https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#zemoduledynamiclink`
-Please see the functionality described in detail here in the L0 spec: `https://spec.oneapi.io/level-zero/latest/core/PROG.html#dynamically-linked-modules`
+Please see the functionality described in detail here in the L0 spec: `https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/PROG.html#dynamically-linked-modules`
# Static Module Linking
-Static Module Linking or Linking L0 Modules to other L0 Modules during the zeModuleCreate is enabled through the extension:`https://spec.oneapi.io/level-zero/latest/core/api.html#ze-module-program-exp-desc-t`
+Static Module Linking or Linking L0 Modules to other L0 Modules during the zeModuleCreate is enabled through the extension:`https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#ze-module-program-exp-desc-t`
This extension to `zeModuleCreate` allows for one to pass more than one Module to Create for the symbol linkage to be resolved into a single large binary.
diff --git a/programmers-guide/SYSMAN.md b/programmers-guide/SYSMAN.md
index 46129aa788..60c2469d27 100644
--- a/programmers-guide/SYSMAN.md
+++ b/programmers-guide/SYSMAN.md
@@ -15,16 +15,16 @@ SPDX-License-Identifier: MIT
# Introduction
-The following document describes limitations of using different initialization modes of System Resource Management Library (Sysman) in Level Zero. Implementation independent information on Level-Zero Sysman initialization are described in the Level-Zero specification [Sysman Programming Guide Section](https://spec.oneapi.io/level-zero/latest/sysman/PROG.html#sysman-programming-guide).
+The following document describes limitations of using different initialization modes of System Resource Management Library (Sysman) in Level Zero. Implementation independent information on Level-Zero Sysman initialization are described in the Level-Zero specification [Sysman Programming Guide Section](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/sysman/PROG.html#sysman-programming-guide).
# Initialization
An application can initialize Level Zero Sysman in following modes:
-* [zeInit](https://spec.oneapi.io/level-zero/latest/core/api.html#zeinit) with [ZES_ENABLE_SYSMAN](https://spec.oneapi.io/level-zero/latest/sysman/PROG.html#environment-variables) environment variable (also referenced as "Legacy mode" for brevity in this document).
-* [zesInit](https://spec.oneapi.io/level-zero/latest/sysman/api.html#zesinit)
+* [zeInit](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#zeinit) with [ZES_ENABLE_SYSMAN](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/sysman/PROG.html#environment-variables) environment variable (also referenced as "Legacy mode" for brevity in this document).
+* [zesInit](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/sysman/api.html#zesinit)
-Psuedo code for the above can be referenced from [spec](https://spec.oneapi.io/level-zero/latest/sysman/PROG.html#sysman-programming-guide).
+Psuedo code for the above can be referenced from [spec](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/sysman/PROG.html#sysman-programming-guide).
# Support and Limitations
@@ -33,11 +33,11 @@ Following table summarizes the effect of using the specified initialization call
| Initialization Mode | Core <-> Sysman Device Handle Casting | Core and Sysman device handle mapping | Sysman API's Support | Platform Support |
|-------------------------------------------------------------------------------------------|---------------------------------------|-----------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|
| Legacy mode | Supported | Core <-> Sysman Device Handle Casting | Supported till [v1.5](https://spec.oneapi.io/releases/index.html#level-zero-v1-5-0).
API's introduced post 1.5 are not supported | Supported up to XeHPC (PVC) and earlier platforms |
-| zesInit | Not supported | [Sysman device mapping](https://spec.oneapi.io/level-zero/latest/sysman/api.html#sysmandevicemapping-functions) | All API's are supported | All Platforms supported |
-| zesInit + (zeInit W/o ZES_ENABLE_SYSMAN) Or
(zeInit W/o ZES_ENABLE_SYSMAN) + zesInit | Not supported | [Sysman device mapping](https://spec.oneapi.io/level-zero/latest/sysman/api.html#sysmandevicemapping-functions) | All API's are supported | All Platforms supported |
+| zesInit | Not supported | [Sysman device mapping](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/sysman/api.html#sysmandevicemapping-functions) | All API's are supported | All Platforms supported |
+| zesInit + (zeInit W/o ZES_ENABLE_SYSMAN) Or
(zeInit W/o ZES_ENABLE_SYSMAN) + zesInit | Not supported | [Sysman device mapping](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/sysman/api.html#sysmandevicemapping-functions) | All API's are supported | All Platforms supported |
| zesInit + (Legacy mode) Or
(Legacy mode) + zesInit | Not supported | Not supported | Not supported | Not supported |
-* Initialization with Legacy mode is supported only if Level Zero Core is operating on [composite device hierarchy](https://spec.oneapi.io/level-zero/latest/core/PROG.html#device-hierarchy) model.
+* Initialization with Legacy mode is supported only if Level Zero Core is operating on [composite device hierarchy](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/PROG.html#device-hierarchy) model.
# Recommendation