# Level Zero Sysman Initialization * [Introduction](#Introduction) * [Initialization](#Initialization) * [Support and Limitations](#Support-and-Limitations) * [Recommendation](#Recommendation) # 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). # 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) Psuedo code for the above can be referenced from [spec](https://spec.oneapi.io/level-zero/latest/sysman/PROG.html#sysman-programming-guide). # Support and Limitations Following table summarizes the effect of using the specified initialization calls in a single user process. | 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 + (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. # Recommendation It is recommended to use zesInit initialization mode over legacy mode.