Add debug key for aub file generation per process id

Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
This commit is contained in:
Krzysztof Gibala
2021-07-08 17:19:43 +00:00
committed by Compute-Runtime-Automation
parent a955eac9c7
commit 0a41c42854
12 changed files with 61 additions and 2 deletions

View File

@@ -15,6 +15,7 @@
#include "shared/source/helpers/options.h"
#include "shared/source/memory_manager/os_agnostic_memory_manager.h"
#include "shared/source/os_interface/os_inc_base.h"
#include "shared/source/os_interface/sys_calls_common.h"
#include <algorithm>
#include <cstring>
@@ -35,7 +36,11 @@ std::string AUBCommandStreamReceiver::createFullFilePath(const HardwareInfo &hwI
if (subDevicesCount > 1) {
strfilename << subDevicesCount << "tx";
}
strfilename << gtSystemInfo.SliceCount << "x" << subSlicesPerSlice << "x" << gtSystemInfo.MaxEuPerSubSlice << "_" << rootDeviceIndex << "_" << filename << ".aub";
std::stringstream strExtendedFileName(filename.c_str());
if (DebugManager.flags.GenerateAubFilePerProcessId.get()) {
strExtendedFileName << "PID_" << SysCalls::getProcessId();
}
strfilename << gtSystemInfo.SliceCount << "x" << subSlicesPerSlice << "x" << gtSystemInfo.MaxEuPerSubSlice << "_" << rootDeviceIndex << "_" << strExtendedFileName.str() << ".aub";
// clean-up any fileName issues because of the file system incompatibilities
auto fileName = strfilename.str();

View File

@@ -36,6 +36,7 @@ DECLARE_DEBUG_VARIABLE(bool, UseAubStream, true, "Use aub_stream for aub dumping
DECLARE_DEBUG_VARIABLE(bool, AUBDumpAllocsOnEnqueueReadOnly, false, "Force dumping buffers and images on clEnqueueReadBuffer/Image only (blocking calls)")
DECLARE_DEBUG_VARIABLE(bool, AUBDumpAllocsOnEnqueueSVMMemcpyOnly, false, "Force dumping allocations on clEnqueueSVMMemcpy only (blocking calls)")
DECLARE_DEBUG_VARIABLE(bool, AUBDumpForceAllToLocalMemory, false, "Force placing every allocation in local memory address space")
DECLARE_DEBUG_VARIABLE(bool, GenerateAubFilePerProcessId, false, "Generate aub file with process id")
/*DEBUG FLAGS*/
DECLARE_DEBUG_VARIABLE(bool, EnableSWTags, false, "Enable software tagging in batch buffer")

View File

@@ -37,6 +37,7 @@ set(NEO_CORE_OS_INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/os_time.h
${CMAKE_CURRENT_SOURCE_DIR}/print.h
${CMAKE_CURRENT_SOURCE_DIR}/os_inc_base.h
${CMAKE_CURRENT_SOURCE_DIR}/sys_calls_common.h
)
if(SUPPORT_XEHP_PLUS)

View File

@@ -6,6 +6,8 @@
*/
#pragma once
#include "shared/source/os_interface/sys_calls_common.h"
#include <iostream>
#include <poll.h>
#include <sys/mman.h>

View File

@@ -18,7 +18,13 @@
#include <unistd.h>
namespace NEO {
namespace SysCalls {
unsigned int getProcessId() {
return getpid();
}
int close(int fileDescriptor) {
return ::close(fileDescriptor);
}

View File

@@ -0,0 +1,18 @@
/*
* Copyright (C) 2018-2021 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
namespace NEO {
namespace SysCalls {
unsigned int getProcessId();
} // namespace SysCalls
} // namespace NEO

View File

@@ -26,6 +26,10 @@ bool isShutdownInProgress() {
namespace SysCalls {
unsigned int getProcessId() {
return GetCurrentProcessId();
}
HANDLE createEvent(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCSTR lpName) {
return CreateEventA(lpEventAttributes, bManualReset, bInitialState, lpName);
}

View File

@@ -1,11 +1,13 @@
/*
* Copyright (C) 2018-2020 Intel Corporation
* Copyright (C) 2018-2021 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "shared/source/os_interface/sys_calls_common.h"
#include <windows.h>
namespace NEO {