Remove not needed virtual methods from event class

Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz
2021-12-08 11:12:14 +00:00
committed by Compute-Runtime-Automation
parent 1f09d40e5a
commit f47814fb32
5 changed files with 56 additions and 45 deletions

View File

@@ -63,17 +63,31 @@ struct Event : _ze_event_handle_t {
virtual void setPacketsInUse(uint32_t value) = 0;
uint32_t getCurrKernelDataIndex() const { return kernelCount - 1; }
virtual size_t getContextStartOffset() const = 0;
virtual size_t getContextEndOffset() const = 0;
virtual size_t getGlobalStartOffset() const = 0;
virtual size_t getGlobalEndOffset() const = 0;
virtual size_t getSinglePacketSize() const = 0;
virtual size_t getTimestampSizeInDw() const = 0;
size_t getContextStartOffset() const {
return contextStartOffset;
}
size_t getContextEndOffset() const {
return contextEndOffset;
}
size_t getGlobalStartOffset() const {
return globalStartOffset;
}
size_t getGlobalEndOffset() const {
return globalEndOffset;
}
size_t getSinglePacketSize() const {
return singlePacketSize;
}
size_t getTimestampSizeInDw() const {
return timestampSizeInDw;
}
void setEventTimestampFlag(bool timestampFlag) {
isTimestampEvent = timestampFlag;
}
bool isEventTimestampFlagSet() { return isTimestampEvent; }
virtual ze_result_t hostEventSetValue(uint32_t eventValue) = 0;
void *hostAddress = nullptr;
uint32_t kernelCount = 1u;
ze_event_scope_flags_t signalScope = 0u;
ze_event_scope_flags_t waitScope = 0u;
uint64_t globalStartTS;
uint64_t globalEndTS;
@@ -83,16 +97,20 @@ struct Event : _ze_event_handle_t {
// Metric streamer instance associated with the event.
MetricStreamer *metricStreamer = nullptr;
NEO::CommandStreamReceiver *csr = nullptr;
void *hostAddress = nullptr;
void setEventTimestampFlag(bool timestampFlag) {
isTimestampEvent = timestampFlag;
}
ze_event_scope_flags_t signalScope = 0u;
ze_event_scope_flags_t waitScope = 0u;
bool isEventTimestampFlagSet() { return isTimestampEvent; }
uint32_t kernelCount = 1u;
protected:
uint64_t gpuAddress;
NEO::GraphicsAllocation *allocation = nullptr;
size_t contextStartOffset = 0u;
size_t contextEndOffset = 0u;
size_t globalStartOffset = 0u;
size_t globalEndOffset = 0u;
size_t timestampSizeInDw = 0u;
size_t singlePacketSize = 0u;
bool isTimestampEvent = false;
};
@@ -110,7 +128,14 @@ template <typename TagSizeT>
struct EventImp : public Event {
EventImp(EventPool *eventPool, int index, Device *device)
: device(device), index(index), eventPool(eventPool) {}
: device(device), index(index), eventPool(eventPool) {
contextStartOffset = NEO::TimestampPackets<TagSizeT>::getContextStartOffset();
contextEndOffset = NEO::TimestampPackets<TagSizeT>::getContextEndOffset();
globalStartOffset = NEO::TimestampPackets<TagSizeT>::getGlobalStartOffset();
globalEndOffset = NEO::TimestampPackets<TagSizeT>::getGlobalEndOffset();
timestampSizeInDw = (sizeof(TagSizeT) / 4);
singlePacketSize = NEO::TimestampPackets<TagSizeT>::getSinglePacketSize();
}
~EventImp() override {}
@@ -133,12 +158,6 @@ struct EventImp : public Event {
uint64_t getPacketAddress(Device *device) override;
uint32_t getPacketsInUse() override;
void setPacketsInUse(uint32_t value) override;
size_t getTimestampSizeInDw() const override { return (sizeof(TagSizeT) / 4); };
size_t getContextStartOffset() const override { return NEO::TimestampPackets<TagSizeT>::getContextStartOffset(); }
size_t getContextEndOffset() const override { return NEO::TimestampPackets<TagSizeT>::getContextEndOffset(); }
size_t getGlobalStartOffset() const override { return NEO::TimestampPackets<TagSizeT>::getGlobalStartOffset(); }
size_t getGlobalEndOffset() const override { return NEO::TimestampPackets<TagSizeT>::getGlobalEndOffset(); }
size_t getSinglePacketSize() const override { return NEO::TimestampPackets<TagSizeT>::getSinglePacketSize(); };
ze_result_t hostEventSetValue(uint32_t eventValue) override;
std::unique_ptr<KernelEventCompletionData<TagSizeT>[]> kernelEventCompletionData;

View File

@@ -83,7 +83,7 @@ void EventImp<TagSizeT>::assignKernelEventCompletionData(void *address) {
packetsToCopy = kernelEventCompletionData[i].getPacketsUsed();
for (uint32_t packetId = 0; packetId < packetsToCopy; packetId++) {
kernelEventCompletionData[i].assignDataToAllTimestamps(packetId, address);
address = ptrOffset(address, NEO::TimestampPackets<TagSizeT>::getSinglePacketSize());
address = ptrOffset(address, singlePacketSize);
}
}
}
@@ -152,11 +152,11 @@ ze_result_t EventImp<TagSizeT>::hostEventSetValueTimestamps(TagSizeT eventVal) {
for (uint32_t i = 0; i < kernelCount; i++) {
uint32_t packetsToSet = kernelEventCompletionData[i].getPacketsUsed();
for (uint32_t j = 0; j < packetsToSet; j++) {
eventTsSetFunc(baseAddr + NEO::TimestampPackets<TagSizeT>::getContextStartOffset());
eventTsSetFunc(baseAddr + NEO::TimestampPackets<TagSizeT>::getGlobalStartOffset());
eventTsSetFunc(baseAddr + NEO::TimestampPackets<TagSizeT>::getContextEndOffset());
eventTsSetFunc(baseAddr + NEO::TimestampPackets<TagSizeT>::getGlobalEndOffset());
baseAddr += NEO::TimestampPackets<TagSizeT>::getSinglePacketSize();
eventTsSetFunc(baseAddr + contextStartOffset);
eventTsSetFunc(baseAddr + globalStartOffset);
eventTsSetFunc(baseAddr + contextEndOffset);
eventTsSetFunc(baseAddr + globalEndOffset);
baseAddr += singlePacketSize;
}
}
assignKernelEventCompletionData(hostAddress);
@@ -347,7 +347,7 @@ uint64_t EventImp<TagSizeT>::getPacketAddress(Device *device) {
uint64_t address = getGpuAddress(device);
for (uint32_t i = 0; i < kernelCount - 1; i++) {
address += kernelEventCompletionData[i].getPacketsUsed() *
NEO::TimestampPackets<TagSizeT>::getSinglePacketSize();
singlePacketSize;
}
return address;
}