mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-05 09:09:04 +08:00
Initial draft to implement Fabric Vertex Apis using Driver Handle Information
Implement the below APIs - zeFabricVertexGetExp - zeFabricVertexGetSubVerticesExp - zeFabricVertexGetPropertiesExp - zeFabricVertexGetDeviceExp Related-To: LOCI-3332 Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
3a962a2d52
commit
b81366f741
@@ -626,3 +626,23 @@ zeGetImageExpProcAddrTable(
|
||||
driver_ddiTable.core_ddiTable.ImageExp = *pDdiTable;
|
||||
return result;
|
||||
}
|
||||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL
|
||||
zeGetFabricVertexExpProcAddrTable(
|
||||
ze_api_version_t version,
|
||||
ze_fabric_vertex_exp_dditable_t *pDdiTable) {
|
||||
|
||||
if (nullptr == pDdiTable)
|
||||
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
|
||||
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
|
||||
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
|
||||
|
||||
ze_result_t result = ZE_RESULT_SUCCESS;
|
||||
pDdiTable->pfnGetExp = L0::zeFabricVertexGetExp;
|
||||
pDdiTable->pfnGetSubVerticesExp = L0::zeFabricVertexGetSubVerticesExp;
|
||||
pDdiTable->pfnGetPropertiesExp = L0::zeFabricVertexGetPropertiesExp;
|
||||
pDdiTable->pfnGetDeviceExp = L0::zeFabricVertexGetDeviceExp;
|
||||
driver_ddiTable.core_ddiTable.FabricVertexExp = *pDdiTable;
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,9 @@
|
||||
|
||||
#include "level_zero/core/source/context/context.h"
|
||||
#include "level_zero/core/source/device/device.h"
|
||||
#include "level_zero/core/source/driver/driver_handle.h"
|
||||
#include "level_zero/core/source/event/event.h"
|
||||
#include "level_zero/core/source/fabric/fabric.h"
|
||||
#include "level_zero/core/source/image/image.h"
|
||||
#include "level_zero/core/source/kernel/kernel.h"
|
||||
|
||||
@@ -52,6 +54,36 @@ ze_result_t zeEventQueryTimestampsExp(
|
||||
return L0::Event::fromHandle(hEvent)->queryTimestampsExp(L0::Device::fromHandle(hDevice), pCount, pTimestamps);
|
||||
}
|
||||
|
||||
ze_result_t zeFabricVertexGetExp(
|
||||
ze_driver_handle_t hDriver,
|
||||
uint32_t *pCount,
|
||||
ze_fabric_vertex_handle_t *phVertices) {
|
||||
|
||||
return L0::DriverHandle::fromHandle(hDriver)->fabricVertexGetExp(pCount, phVertices);
|
||||
}
|
||||
|
||||
ze_result_t zeFabricVertexGetSubVerticesExp(
|
||||
ze_fabric_vertex_handle_t hVertex,
|
||||
uint32_t *pCount,
|
||||
ze_fabric_vertex_handle_t *phSubvertices) {
|
||||
|
||||
return L0::FabricVertex::fromHandle(hVertex)->getSubVertices(pCount, phSubvertices);
|
||||
}
|
||||
|
||||
ze_result_t zeFabricVertexGetPropertiesExp(
|
||||
ze_fabric_vertex_handle_t hVertex,
|
||||
ze_fabric_vertex_exp_properties_t *pVertexProperties) {
|
||||
|
||||
return L0::FabricVertex::fromHandle(hVertex)->getProperties(pVertexProperties);
|
||||
}
|
||||
|
||||
ze_result_t zeFabricVertexGetDeviceExp(
|
||||
ze_fabric_vertex_handle_t hVertex,
|
||||
ze_device_handle_t *phDevice) {
|
||||
|
||||
return L0::FabricVertex::fromHandle(hVertex)->getDevice(phDevice);
|
||||
}
|
||||
|
||||
} // namespace L0
|
||||
|
||||
extern "C" {
|
||||
@@ -99,4 +131,34 @@ zeEventQueryTimestampsExp(
|
||||
return L0::zeEventQueryTimestampsExp(hEvent, hDevice, pCount, pTimestamps);
|
||||
}
|
||||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL
|
||||
zeFabricVertexGetExp(
|
||||
ze_driver_handle_t hDriver,
|
||||
uint32_t *pCount,
|
||||
ze_fabric_vertex_handle_t *phVertices) {
|
||||
return L0::zeFabricVertexGetExp(hDriver, pCount, phVertices);
|
||||
}
|
||||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL
|
||||
zeFabricVertexGetSubVerticesExp(
|
||||
ze_fabric_vertex_handle_t hVertex,
|
||||
uint32_t *pCount,
|
||||
ze_fabric_vertex_handle_t *phSubvertices) {
|
||||
return L0::zeFabricVertexGetSubVerticesExp(hVertex, pCount, phSubvertices);
|
||||
}
|
||||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL
|
||||
zeFabricVertexGetPropertiesExp(
|
||||
ze_fabric_vertex_handle_t hVertex,
|
||||
ze_fabric_vertex_exp_properties_t *pVertexProperties) {
|
||||
return L0::zeFabricVertexGetPropertiesExp(hVertex, pVertexProperties);
|
||||
}
|
||||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL
|
||||
zeFabricVertexGetDeviceExp(
|
||||
ze_fabric_vertex_handle_t hVertex,
|
||||
ze_device_handle_t *phDevice) {
|
||||
return L0::zeFabricVertexGetDeviceExp(hVertex, phDevice);
|
||||
}
|
||||
|
||||
} // extern "C"
|
||||
|
||||
@@ -49,4 +49,22 @@ ze_result_t zetMetricGroupCalculateMultipleMetricValuesExp(
|
||||
uint32_t *pMetricCounts,
|
||||
zet_typed_value_t *pMetricValues);
|
||||
|
||||
ze_result_t zeFabricVertexGetExp(
|
||||
ze_driver_handle_t hDriver,
|
||||
uint32_t *pCount,
|
||||
ze_fabric_vertex_handle_t *phVertices);
|
||||
|
||||
ze_result_t zeFabricVertexGetSubVerticesExp(
|
||||
ze_fabric_vertex_handle_t hVertex,
|
||||
uint32_t *pCount,
|
||||
ze_fabric_vertex_handle_t *phSubvertices);
|
||||
|
||||
ze_result_t zeFabricVertexGetPropertiesExp(
|
||||
ze_fabric_vertex_handle_t hVertex,
|
||||
ze_fabric_vertex_exp_properties_t *pVertexProperties);
|
||||
|
||||
ze_result_t zeFabricVertexGetDeviceExp(
|
||||
ze_fabric_vertex_handle_t hVertex,
|
||||
ze_device_handle_t *phDevice);
|
||||
|
||||
} // namespace L0
|
||||
|
||||
Reference in New Issue
Block a user