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.
An application can initialize Level Zero Sysman in following modes:
- zeInit with ZES_ENABLE_SYSMAN environment variable (also referenced as "Legacy mode" for brevity in this document).
- zesInit
Psuedo code for the above can be referenced from spec.
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. API's introduced post 1.5 are not supported |
Supported up to XeHPC (PVC) and earlier platforms |
zesInit | Not supported | Sysman device mapping | 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 | 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 model.
It is recommended to use zesInit initialization mode over legacy mode.