-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sysmon failed on B580 #85
Comments
Thanks, I was able to reproduce on Ubuntu 24.10 too. Looking into it. |
@mschilling0 any updates? It is from l0 or driver, I think. |
Yes, I filed an issue with their team, they seem to have accepted it. I will follow up and ask for an update. |
No updates yet other than they've done an initial triage and seemed to accept it. I will let you know any updates here. It might have to work its way through their processes. |
The API zesDeviceGetProperties is expected to return ZE_RESULT_ERROR_UNINITIALIZED i.e error code 78000001 when the core handle is given. This core handle has been created since the zeInit based sysman initialization is used. On the BMG system, the sysman should be initialized using the zesInit based initialization which creates a separate Sysman handle. This Sysman handle should be given to the zesDeviceGetProperties API to fetch the correct values. |
Regarding the BMG details, on BMG Xe KMD is enabled. On Xe KMD only sysman initialization with zesInit is supported. Legacy sysman initialization is not supported. |
@pratikbariintel Hi, the current initialization is Line 1252 in 00e4bbc
I try to replace zesDeviceGetProperties with zeDeviceGetProperties and then zeDeviceGetProperties can get correct property.So the next question is why zesDeviceGetProperties and zes related api failed.As you paste above, you mean zes_device_handle_t should be fetched as above example guide?
|
The zeDeviceGetProperties is a core API and it expects a Core handle here (ze_device_handle_t). Here it will pass correctly. |
@pratikbariintel Got it. I mis-understand the api according the spec. /// @brief Handle of device object
typedef ze_device_handle_t zes_device_handle_t; |
On B580, to access sysman function. Later: we have also added support for core device handles to be used for zesDevice*** APIs after successful sysman initialization through zesInit(). This support has not yet reached public driver and may be available in approximately in months time. |
|
@alanzhai219 The support for the enumeration of the Engine Handles for Xe driver has been recently added. It will be available with the new driver release in 3-4 weeks. |
@pratikbariintel @AshwinKumarKulkarni So, from this discussion, I think sysman still needs to be fixed. Ideally, we need to keep compatibility with devices older than BMG. Is there an API call where we can determine if the device should use legacy mode or zesInit / zes_handle mode? Should we just use a failed return code? Check /proc for xe (Linux)? |
At present there is no separate API to check the legacy mode or the new mode. This should be referred for the Sysman initialization |
Below pseudocode may help to decide zesInit/legacy, please check if it is useful
|
These infrastructure-related APIs should be ready before the new hardware is released. @pratikbariintel @AshwinKumarKulkarni |
Thanks! I will try it out next week. |
Reproduce
Build
Log
The text was updated successfully, but these errors were encountered: