HIP API Tracing (#357)
* Update include/rocprofiler-sdk/hip*
- updates for intercept table
* Update lib/common/units.hpp
- clang-tidy fixes
* Add lib/rocprofiler-sdk/hip
- tracing implementation for the HIP intercept table
* Update source/lib/rocprofiler-sdk/CMakeLists.txt
- add_subdirectory(hip)
* Update source/lib/rocprofiler-sdk/hsa
- offset function in hsa_api_info<Idx>
- remove report_activity, set_callback
- Tweak HSA_API_TABLE_LOOKUP_DEFINITION
* Update lib/rocprofiler-sdk/hip
- rocprofiler::hip::copy_table
- stringize_impl print dereferenced pointers when possible
* Update lib/rocprofiler-sdk/hsa/utils.hpp
- stringize_impl print dereferenced pointers when possible
* Update lib/rocprofiler-sdk/tests/intercept_table.cpp
- remove failures for intercepting HIP API tables
* Update include/rocprofiler-sdk/fwd.h
- add ROCPROFILER_HIP_RUNTIME_LIBRARY (== ROCPROFILER_HIP_LIBRARY)
- add ROCPROFILER_HIP_COMPILER_LIBRARY
* Update lib/rocprofiler-sdk/buffer_tracing.cpp
- Support ROCPROFILER_BUFFER_TRACING_HIP_API in rocprofiler_query_buffer_tracing_kind_operation_name
- Support ROCPROFILER_BUFFER_TRACING_HIP_API in rocprofiler_iterate_buffer_tracing_kind_operations
* Update lib/rocprofiler-sdk/callback_tracing.cpp
- Support ROCPROFILER_CALLBACK_TRACING_HIP_API in rocprofiler_query_callback_tracing_kind_operation_name
- Support ROCPROFILER_CALLBACK_TRACING_HIP_API in rocprofiler_iterate_callback_tracing_kind_operations
- Support ROCPROFILER_CALLBACK_TRACING_HIP_API in rocprofiler_iterate_callback_tracing_kind_operation_args
* Update lib/rocprofiler-sdk/intercept_table.cpp
- support HipDispatchTable and HipCompilerDispatchTable
* Update lib/rocprofiler-sdk/internal_threading.cpp
- Support ROCPROFILER_HIP_COMPILER_LIBRARY
* Update lib/rocprofiler-sdk/registration.cpp
- Support "hip" and "hip_compiler" in rocprofiler_set_api_table
- Added some extra logging
* Update samples/api_{buffered,callback}_tracing
- Modifications to demonstrate HIP API tracing
* Update tests/kernel-tracing
- Modifications to handle/test HIP API tracing
* Separate HIP tracing from HIP compiler tracing
* Fix installation of include/rocprofiler-sdk/hip/*
- add compiler and table headers to install
* Fixes to HIP interception
- hip_api_trace.hpp was updated a bit
- removed hipGetDeviceProperties (generic)
- added hipGetDevicePropertiesR0600
- added hipGetDevicePropertiesR0000
- removed hipRegisterTracerCallback
- reordered hipCreateChannelDesc, hipExtModuleLaunchKernel, hipHccModuleLaunchKernel
- added hipDrvGraphAddMemsetNode
- static asserts in hsa_api_info ensuring ordering of pointers
* Update lib/rocprofiler-sdk/hip/hip.*
- use size_t instead of rocprofiler_hip_table_api_id_t as non-type template parameter (smaller binary)
- separated out population of callback_context_data and buffered_context_data into non-template function (significantly smaller binary)
* Update lib/rocprofiler-sdk/hsa/hsa.*
- separated out population of callback_context_data and buffered_context_data into non-template function (significantly smaller binary)
* Update test/kernel-tracing/validate.py
- does not expect any hip_api_traces until libamdhip.so actually starts using rocprofiler-register
* Update tests/tools/json-tool.cpp
- fix context associated with "HIP_API_CALLBACK"
* Update external/CMakeLists.txt
- move misc variables to top of CMakeLists.txt so they apply to all external subprojects
- BUILD_TESTING (OFF)
- BUILD_SHARED_LIBS (OFF)
- BUILD_OBJECT_LIBS (OFF)
- BUILD_STATIC_LIBS (ON)
- CMAKE_POSITION_INDEPENDENT_CODE (ON)
- CMAKE_VISIBILITY_INLINES_HIDDEN (ON)
- CMAKE_CXX_VISIBILITY_PRESET (hidden)
- disable using libunwind in glog
* Update lib/rocprofiler-{sdk,sdk-tool}/CMakeLists.txt
- remove explicit setting of SKIP_BUILD_RPATH
* Update CMakeLists.txt
- set high-level CMAKE_BUILD_RPATH and CMAKE_INSTALL_RPATH_USE_LINK_PATH
* Update tests/CMakeLists.txt
- include(GNUInstallDirs)
* Update samples/CMakeLists.txt
- include(GNUInstallDirs)
* Update include/rocprofiler-sdk/hip/{compiler_api,api}_args.h
- remove extern "C" due to incompatibility b/t empty struct in C (size 0) vs. empty struct in C++ (size 1)
* Update lib/rocprofiler-sdk/hip/details/ostream.hpp
- clang-tidy fixes
* Update cmake/rocprofiler_linting.cmake
- add a feature for clang tidy exe
* Update lib/rocprofiler-sdk/hip/hip.cpp
- use recursion instead of fold expression due to clang-tidy errors (maximum nesting level exceeded)
* Update lib/rocprofiler-sdk/buffer_tracing.cpp
- fix merge
* Update lib/rocprofiler-sdk/callback_tracing.cpp
- fix merge
* Update bin/rocprofv3
- args for marker, HIP runtime, and HIP compiler tracing
* Update tests/apps/simple-transpose
- use roctx
* Update tests/rocprofv3/tracing
- validate marker API data
* Update lib/rocprofiler-sdk-tool
- support for HIP runtime, HIP compiler, marker API
* Update queue/queue_controller/registration/utility
- call hsa::queue_controller_fini() during finalization
- add a yield function to common/utility.hpp
- implements a thread yield + sleep
- add a sync function to Queue class
- add a iterate_queues member function to QueueController
- this is used to sync each queue during queue_controller_fini()
* Fix data races: queue/context/stable_vector
- stable_vector::emplace_back returns reference
- correlation id map uses stable_vector
- queue_info_session has explicit fields for queue id, hsa agent, rocp agent
- use hsa::get_table() in AsyncSignalHandler
- WriteInterceptor does not use TLS for context array
* Update lib/rocprofiler-sdk/hsa/hsa.*
- static object for API subtables
- accessors for API subtables
- google tests for HSA API subtables
* Update lib/rocprofiler-sdk/hsa/{queue,async_copy}.cpp
- use HSA subtable accessors
* Update rocprofiler_memcheck and CI workflow
- use GCC 13 instead of GCC 11 due to suspected false positives in thread sanitizer
- GCC 13 uses libtsan.so.2
* Update CI workflow
* Update lib/rocprofiler-sdk/counters/{metrics,counters}
- fix possibly dangling reference to a temporary from gcc-13
* Update thread-sanitizer-suppr.txt
- Ignore data races originating in hsa-runtime library
* Update cmake/rocprofiler_memcheck.cmake
- Deduce the sanitizer library to preload by compiling an application and extracting the linked sanitizer library
* Update tests/rocprofv3/tracing/CMakeLists.txt
- add csv files to REQUIRED_FILES and ATTACH_ON_FAIL in validate test
* Update lib/common/container/record_header_buffer.hpp
- fix data race identified by gcc v13 and libtsan.so.2
* Update hip API id, args, and def
- remove hipDrvGraphAddMemsetNode (not part of ROCm 6.0
* Update lib/common/container/record_header_buffer.hpp
- fix deadlock in save/read/reset
* Update source/docs/CMakeLists.txt
- remove COMMAND_ERROR_IS_FATAL ANY to allow for printing of stdout/stderr
* Update lib/rocprofiler-sdk/hip/details/ostream.hpp
- remove overloads for HIP_MEMSET_NODE_PARAMS
* Update docs/CMakeLists.txt
- use find_program for shell instead of hardcoded /bin/bash
Este cometimento está contido em:
cometido por
GitHub
ascendente
f84c2f4386
cometimento
c641749fe6
@@ -22,68 +22,100 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <rocprofiler-sdk/defines.h>
|
||||
|
||||
#include <hip/hip_runtime.h>
|
||||
#include <hip/hip_runtime_api.h>
|
||||
#include <hip/hip_version.h>
|
||||
// must be included after
|
||||
#include <hip/hip_deprecated.h>
|
||||
|
||||
typedef union rocprofiler_hip_api_retval_u
|
||||
{
|
||||
int int_retval;
|
||||
const char* const_charp_retval;
|
||||
hipError_t hipError_t_retval;
|
||||
int int_retval;
|
||||
const char* const_charp_retval;
|
||||
hipError_t hipError_t_retval;
|
||||
hipChannelFormatDesc hipChannelFormatDesc_retval;
|
||||
} rocprofiler_hip_api_retval_t;
|
||||
|
||||
typedef union rocprofiler_hip_api_args_u
|
||||
{
|
||||
struct
|
||||
{
|
||||
dim3* gridDim;
|
||||
dim3* blockDim;
|
||||
size_t* sharedMem;
|
||||
hipStream_t* stream;
|
||||
} __hipPopCallConfiguration;
|
||||
uint32_t id;
|
||||
} hipApiName;
|
||||
struct
|
||||
{
|
||||
dim3 gridDim;
|
||||
dim3 blockDim;
|
||||
size_t sharedMem;
|
||||
hipStream_t stream;
|
||||
} __hipPushCallConfiguration;
|
||||
struct
|
||||
{
|
||||
hipArray** array;
|
||||
hipArray_t* array;
|
||||
const HIP_ARRAY3D_DESCRIPTOR* pAllocateArray;
|
||||
} hipArray3DCreate;
|
||||
struct
|
||||
{
|
||||
HIP_ARRAY3D_DESCRIPTOR* pArrayDescriptor;
|
||||
hipArray* array;
|
||||
hipArray_t array;
|
||||
} hipArray3DGetDescriptor;
|
||||
struct
|
||||
{
|
||||
hipArray** pHandle;
|
||||
hipArray_t* pHandle;
|
||||
const HIP_ARRAY_DESCRIPTOR* pAllocateArray;
|
||||
} hipArrayCreate;
|
||||
struct
|
||||
{
|
||||
hipArray* array;
|
||||
hipArray_t array;
|
||||
} hipArrayDestroy;
|
||||
struct
|
||||
{
|
||||
HIP_ARRAY_DESCRIPTOR* pArrayDescriptor;
|
||||
hipArray* array;
|
||||
hipArray_t array;
|
||||
} hipArrayGetDescriptor;
|
||||
struct
|
||||
{
|
||||
hipChannelFormatDesc* desc;
|
||||
hipExtent* extent;
|
||||
unsigned int* flags;
|
||||
hipArray* array;
|
||||
hipArray_t array;
|
||||
} hipArrayGetInfo;
|
||||
struct
|
||||
{
|
||||
int* device;
|
||||
const hipDeviceProp_t* prop;
|
||||
size_t* offset;
|
||||
const textureReference* tex;
|
||||
const void* devPtr;
|
||||
const hipChannelFormatDesc* desc;
|
||||
size_t size;
|
||||
} hipBindTexture;
|
||||
struct
|
||||
{
|
||||
size_t* offset;
|
||||
const textureReference* tex;
|
||||
const void* devPtr;
|
||||
const hipChannelFormatDesc* desc;
|
||||
size_t width;
|
||||
size_t height;
|
||||
size_t pitch;
|
||||
} hipBindTexture2D;
|
||||
struct
|
||||
{
|
||||
const textureReference* tex;
|
||||
hipArray_const_t array;
|
||||
const hipChannelFormatDesc* desc;
|
||||
} hipBindTextureToArray;
|
||||
struct
|
||||
{
|
||||
const textureReference* tex;
|
||||
hipMipmappedArray_const_t mipmappedArray;
|
||||
const hipChannelFormatDesc* desc;
|
||||
} hipBindTextureToMipmappedArray;
|
||||
struct
|
||||
{
|
||||
int* device;
|
||||
const hipDeviceProp_tR0600* prop;
|
||||
} hipChooseDevice;
|
||||
struct
|
||||
{
|
||||
int* device;
|
||||
const hipDeviceProp_tR0000* prop;
|
||||
} hipChooseDeviceR0000;
|
||||
struct
|
||||
{
|
||||
dim3 gridDim;
|
||||
dim3 blockDim;
|
||||
@@ -96,6 +128,13 @@ typedef union rocprofiler_hip_api_args_u
|
||||
const hipResourceDesc* pResDesc;
|
||||
} hipCreateSurfaceObject;
|
||||
struct
|
||||
{
|
||||
hipTextureObject_t* pTexObject;
|
||||
const hipResourceDesc* pResDesc;
|
||||
const hipTextureDesc* pTexDesc;
|
||||
const struct hipResourceViewDesc* pResViewDesc;
|
||||
} hipCreateTextureObject;
|
||||
struct
|
||||
{
|
||||
hipCtx_t* ctx;
|
||||
unsigned int flags;
|
||||
@@ -160,6 +199,9 @@ typedef union rocprofiler_hip_api_args_u
|
||||
hipSharedMemConfig config;
|
||||
} hipCtxSetSharedMemConfig;
|
||||
struct
|
||||
{
|
||||
} hipCtxSynchronize;
|
||||
struct
|
||||
{
|
||||
hipExternalMemory_t extMem;
|
||||
} hipDestroyExternalMemory;
|
||||
@@ -172,6 +214,10 @@ typedef union rocprofiler_hip_api_args_u
|
||||
hipSurfaceObject_t surfaceObject;
|
||||
} hipDestroySurfaceObject;
|
||||
struct
|
||||
{
|
||||
hipTextureObject_t textureObject;
|
||||
} hipDestroyTextureObject;
|
||||
struct
|
||||
{
|
||||
int* canAccessPeer;
|
||||
int deviceId;
|
||||
@@ -295,6 +341,9 @@ typedef union rocprofiler_hip_api_args_u
|
||||
unsigned int flags;
|
||||
} hipDevicePrimaryCtxSetFlags;
|
||||
struct
|
||||
{
|
||||
} hipDeviceReset;
|
||||
struct
|
||||
{
|
||||
hipFuncCache_t cacheConfig;
|
||||
} hipDeviceSetCacheConfig;
|
||||
@@ -319,6 +368,9 @@ typedef union rocprofiler_hip_api_args_u
|
||||
hipSharedMemConfig config;
|
||||
} hipDeviceSetSharedMemConfig;
|
||||
struct
|
||||
{
|
||||
} hipDeviceSynchronize;
|
||||
struct
|
||||
{
|
||||
size_t* bytes;
|
||||
hipDevice_t device;
|
||||
@@ -328,6 +380,25 @@ typedef union rocprofiler_hip_api_args_u
|
||||
int* driverVersion;
|
||||
} hipDriverGetVersion;
|
||||
struct
|
||||
{
|
||||
hipError_t hipError;
|
||||
const char** errorString;
|
||||
} hipDrvGetErrorName;
|
||||
struct
|
||||
{
|
||||
hipError_t hipError;
|
||||
const char** errorString;
|
||||
} hipDrvGetErrorString;
|
||||
struct
|
||||
{
|
||||
hipGraphNode_t* phGraphNode;
|
||||
hipGraph_t hGraph;
|
||||
const hipGraphNode_t* dependencies;
|
||||
size_t numDependencies;
|
||||
const HIP_MEMCPY3D* copyParams;
|
||||
hipCtx_t ctx;
|
||||
} hipDrvGraphAddMemcpyNode;
|
||||
struct
|
||||
{
|
||||
const hip_Memcpy2D* pCopy;
|
||||
} hipDrvMemcpy2DUnaligned;
|
||||
@@ -353,8 +424,8 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipEventCreate;
|
||||
struct
|
||||
{
|
||||
hipEvent_t* event;
|
||||
unsigned int flags;
|
||||
hipEvent_t* event;
|
||||
unsigned flags;
|
||||
} hipEventCreateWithFlags;
|
||||
struct
|
||||
{
|
||||
@@ -381,10 +452,10 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipEventSynchronize;
|
||||
struct
|
||||
{
|
||||
int device1;
|
||||
int device2;
|
||||
unsigned int* linktype;
|
||||
unsigned int* hopcount;
|
||||
int device1;
|
||||
int device2;
|
||||
uint32_t* linktype;
|
||||
uint32_t* hopcount;
|
||||
} hipExtGetLinkTypeAndHopCount;
|
||||
struct
|
||||
{
|
||||
@@ -412,32 +483,15 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipExtMallocWithFlags;
|
||||
struct
|
||||
{
|
||||
hipFunction_t f;
|
||||
unsigned int globalWorkSizeX;
|
||||
unsigned int globalWorkSizeY;
|
||||
unsigned int globalWorkSizeZ;
|
||||
unsigned int localWorkSizeX;
|
||||
unsigned int localWorkSizeY;
|
||||
unsigned int localWorkSizeZ;
|
||||
size_t sharedMemBytes;
|
||||
hipStream_t hStream;
|
||||
void** kernelParams;
|
||||
void** extra;
|
||||
hipEvent_t startEvent;
|
||||
hipEvent_t stopEvent;
|
||||
unsigned int flags;
|
||||
} hipExtModuleLaunchKernel;
|
||||
struct
|
||||
{
|
||||
hipStream_t* stream;
|
||||
unsigned int cuMaskSize;
|
||||
const unsigned int* cuMask;
|
||||
hipStream_t* stream;
|
||||
uint32_t cuMaskSize;
|
||||
const uint32_t* cuMask;
|
||||
} hipExtStreamCreateWithCUMask;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
unsigned int cuMaskSize;
|
||||
unsigned int* cuMask;
|
||||
hipStream_t stream;
|
||||
uint32_t cuMaskSize;
|
||||
uint32_t* cuMask;
|
||||
} hipExtStreamGetCUMask;
|
||||
struct
|
||||
{
|
||||
@@ -451,7 +505,7 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipFree;
|
||||
struct
|
||||
{
|
||||
hipArray* array;
|
||||
hipArray_t array;
|
||||
} hipFreeArray;
|
||||
struct
|
||||
{
|
||||
@@ -474,8 +528,8 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipFuncGetAttribute;
|
||||
struct
|
||||
{
|
||||
hipFuncAttributes* attr;
|
||||
const void* func;
|
||||
struct hipFuncAttributes* attr;
|
||||
const void* func;
|
||||
} hipFuncGetAttributes;
|
||||
struct
|
||||
{
|
||||
@@ -519,9 +573,25 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipGetDeviceFlags;
|
||||
struct
|
||||
{
|
||||
hipDeviceProp_t* props;
|
||||
hipDevice_t device;
|
||||
} hipGetDeviceProperties;
|
||||
hipDeviceProp_tR0600* prop;
|
||||
int deviceId;
|
||||
} hipGetDevicePropertiesR0600;
|
||||
struct
|
||||
{
|
||||
hipDeviceProp_tR0000* prop;
|
||||
int deviceId;
|
||||
} hipGetDevicePropertiesR0000;
|
||||
struct
|
||||
{
|
||||
hipError_t hip_error;
|
||||
} hipGetErrorName;
|
||||
struct
|
||||
{
|
||||
hipError_t hipError;
|
||||
} hipGetErrorString;
|
||||
struct
|
||||
{
|
||||
} hipGetLastError;
|
||||
struct
|
||||
{
|
||||
hipArray_t* levelArray;
|
||||
@@ -539,6 +609,31 @@ typedef union rocprofiler_hip_api_args_u
|
||||
const void* symbol;
|
||||
} hipGetSymbolSize;
|
||||
struct
|
||||
{
|
||||
size_t* offset;
|
||||
const textureReference* texref;
|
||||
} hipGetTextureAlignmentOffset;
|
||||
struct
|
||||
{
|
||||
hipResourceDesc* pResDesc;
|
||||
hipTextureObject_t textureObject;
|
||||
} hipGetTextureObjectResourceDesc;
|
||||
struct
|
||||
{
|
||||
struct hipResourceViewDesc* pResViewDesc;
|
||||
hipTextureObject_t textureObject;
|
||||
} hipGetTextureObjectResourceViewDesc;
|
||||
struct
|
||||
{
|
||||
hipTextureDesc* pTexDesc;
|
||||
hipTextureObject_t textureObject;
|
||||
} hipGetTextureObjectTextureDesc;
|
||||
struct
|
||||
{
|
||||
const textureReference** texref;
|
||||
const void* symbol;
|
||||
} hipGetTextureReference;
|
||||
struct
|
||||
{
|
||||
hipGraphNode_t* pGraphNode;
|
||||
hipGraph_t graph;
|
||||
@@ -1024,22 +1119,6 @@ typedef union rocprofiler_hip_api_args_u
|
||||
hipGraphicsResource_t resource;
|
||||
} hipGraphicsUnregisterResource;
|
||||
struct
|
||||
{
|
||||
hipFunction_t f;
|
||||
unsigned int globalWorkSizeX;
|
||||
unsigned int globalWorkSizeY;
|
||||
unsigned int globalWorkSizeZ;
|
||||
unsigned int blockDimX;
|
||||
unsigned int blockDimY;
|
||||
unsigned int blockDimZ;
|
||||
size_t sharedMemBytes;
|
||||
hipStream_t hStream;
|
||||
void** kernelParams;
|
||||
void** extra;
|
||||
hipEvent_t startEvent;
|
||||
hipEvent_t stopEvent;
|
||||
} hipHccModuleLaunchKernel;
|
||||
struct
|
||||
{
|
||||
void** ptr;
|
||||
size_t size;
|
||||
@@ -1116,8 +1195,17 @@ typedef union rocprofiler_hip_api_args_u
|
||||
unsigned int flags;
|
||||
} hipIpcOpenMemHandle;
|
||||
struct
|
||||
{
|
||||
hipFunction_t f;
|
||||
} hipKernelNameRef;
|
||||
struct
|
||||
{
|
||||
const void* hostFunction;
|
||||
hipStream_t stream;
|
||||
} hipKernelNameRefByPtr;
|
||||
struct
|
||||
{
|
||||
const void* func;
|
||||
} hipLaunchByPtr;
|
||||
struct
|
||||
{
|
||||
@@ -1161,14 +1249,14 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipMalloc3D;
|
||||
struct
|
||||
{
|
||||
hipArray_t* array;
|
||||
const hipChannelFormatDesc* desc;
|
||||
hipExtent extent;
|
||||
unsigned int flags;
|
||||
hipArray_t* array;
|
||||
const struct hipChannelFormatDesc* desc;
|
||||
struct hipExtent extent;
|
||||
unsigned int flags;
|
||||
} hipMalloc3DArray;
|
||||
struct
|
||||
{
|
||||
hipArray** array;
|
||||
hipArray_t* array;
|
||||
const hipChannelFormatDesc* desc;
|
||||
size_t width;
|
||||
size_t height;
|
||||
@@ -1200,11 +1288,11 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipMallocManaged;
|
||||
struct
|
||||
{
|
||||
hipMipmappedArray_t* mipmappedArray;
|
||||
const hipChannelFormatDesc* desc;
|
||||
hipExtent extent;
|
||||
unsigned int numLevels;
|
||||
unsigned int flags;
|
||||
hipMipmappedArray_t* mipmappedArray;
|
||||
const struct hipChannelFormatDesc* desc;
|
||||
struct hipExtent extent;
|
||||
unsigned int numLevels;
|
||||
unsigned int flags;
|
||||
} hipMallocMipmappedArray;
|
||||
struct
|
||||
{
|
||||
@@ -1474,7 +1562,7 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipMemcpy2DFromArrayAsync;
|
||||
struct
|
||||
{
|
||||
hipArray* dst;
|
||||
hipArray_t dst;
|
||||
size_t wOffset;
|
||||
size_t hOffset;
|
||||
const void* src;
|
||||
@@ -1485,7 +1573,7 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipMemcpy2DToArray;
|
||||
struct
|
||||
{
|
||||
hipArray* dst;
|
||||
hipArray_t dst;
|
||||
size_t wOffset;
|
||||
size_t hOffset;
|
||||
const void* src;
|
||||
@@ -1497,12 +1585,12 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipMemcpy2DToArrayAsync;
|
||||
struct
|
||||
{
|
||||
const hipMemcpy3DParms* p;
|
||||
const struct hipMemcpy3DParms* p;
|
||||
} hipMemcpy3D;
|
||||
struct
|
||||
{
|
||||
const hipMemcpy3DParms* p;
|
||||
hipStream_t stream;
|
||||
const struct hipMemcpy3DParms* p;
|
||||
hipStream_t stream;
|
||||
} hipMemcpy3DAsync;
|
||||
struct
|
||||
{
|
||||
@@ -1514,10 +1602,10 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipMemcpyAsync;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
hipArray* srcArray;
|
||||
size_t srcOffset;
|
||||
size_t count;
|
||||
void* dst;
|
||||
hipArray_t srcArray;
|
||||
size_t srcOffset;
|
||||
size_t count;
|
||||
} hipMemcpyAtoH;
|
||||
struct
|
||||
{
|
||||
@@ -1573,7 +1661,7 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipMemcpyFromSymbolAsync;
|
||||
struct
|
||||
{
|
||||
hipArray* dstArray;
|
||||
hipArray_t dstArray;
|
||||
size_t dstOffset;
|
||||
const void* srcHost;
|
||||
size_t count;
|
||||
@@ -1619,7 +1707,7 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipMemcpyPeerAsync;
|
||||
struct
|
||||
{
|
||||
hipArray* dst;
|
||||
hipArray_t dst;
|
||||
size_t wOffset;
|
||||
size_t hOffset;
|
||||
const void* src;
|
||||
@@ -1817,7 +1905,7 @@ typedef union rocprofiler_hip_api_args_u
|
||||
const void* image;
|
||||
unsigned int numOptions;
|
||||
hipJitOption* options;
|
||||
void** optionsValues;
|
||||
void** optionValues;
|
||||
} hipModuleLoadDataEx;
|
||||
struct
|
||||
{
|
||||
@@ -1860,14 +1948,14 @@ typedef union rocprofiler_hip_api_args_u
|
||||
int* numBlocks;
|
||||
const void* f;
|
||||
int blockSize;
|
||||
size_t dynamicSMemSize;
|
||||
size_t dynSharedMemPerBlk;
|
||||
} hipOccupancyMaxActiveBlocksPerMultiprocessor;
|
||||
struct
|
||||
{
|
||||
int* numBlocks;
|
||||
const void* f;
|
||||
int blockSize;
|
||||
size_t dynamicSMemSize;
|
||||
size_t dynSharedMemPerBlk;
|
||||
unsigned int flags;
|
||||
} hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags;
|
||||
struct
|
||||
@@ -1879,6 +1967,9 @@ typedef union rocprofiler_hip_api_args_u
|
||||
int blockSizeLimit;
|
||||
} hipOccupancyMaxPotentialBlockSize;
|
||||
struct
|
||||
{
|
||||
} hipPeekAtLastError;
|
||||
struct
|
||||
{
|
||||
void* data;
|
||||
hipPointer_attribute attribute;
|
||||
@@ -1896,6 +1987,12 @@ typedef union rocprofiler_hip_api_args_u
|
||||
hipDeviceptr_t ptr;
|
||||
} hipPointerSetAttribute;
|
||||
struct
|
||||
{
|
||||
} hipProfilerStart;
|
||||
struct
|
||||
{
|
||||
} hipProfilerStop;
|
||||
struct
|
||||
{
|
||||
int* runtimeVersion;
|
||||
} hipRuntimeGetVersion;
|
||||
@@ -1905,7 +2002,7 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipSetDevice;
|
||||
struct
|
||||
{
|
||||
unsigned int flags;
|
||||
unsigned flags;
|
||||
} hipSetDeviceFlags;
|
||||
struct
|
||||
{
|
||||
@@ -2023,9 +2120,9 @@ typedef union rocprofiler_hip_api_args_u
|
||||
{
|
||||
hipStream_t stream;
|
||||
void* ptr;
|
||||
unsigned int value;
|
||||
uint32_t value;
|
||||
unsigned int flags;
|
||||
unsigned int mask;
|
||||
uint32_t mask;
|
||||
} hipStreamWaitValue32;
|
||||
struct
|
||||
{
|
||||
@@ -2039,7 +2136,7 @@ typedef union rocprofiler_hip_api_args_u
|
||||
{
|
||||
hipStream_t stream;
|
||||
void* ptr;
|
||||
unsigned int value;
|
||||
uint32_t value;
|
||||
unsigned int flags;
|
||||
} hipStreamWriteValue32;
|
||||
struct
|
||||
@@ -2050,11 +2147,48 @@ typedef union rocprofiler_hip_api_args_u
|
||||
unsigned int flags;
|
||||
} hipStreamWriteValue64;
|
||||
struct
|
||||
{
|
||||
hipTextureObject_t* pTexObject;
|
||||
const HIP_RESOURCE_DESC* pResDesc;
|
||||
const HIP_TEXTURE_DESC* pTexDesc;
|
||||
const HIP_RESOURCE_VIEW_DESC* pResViewDesc;
|
||||
} hipTexObjectCreate;
|
||||
struct
|
||||
{
|
||||
hipTextureObject_t texObject;
|
||||
} hipTexObjectDestroy;
|
||||
struct
|
||||
{
|
||||
HIP_RESOURCE_DESC* pResDesc;
|
||||
hipTextureObject_t texObject;
|
||||
} hipTexObjectGetResourceDesc;
|
||||
struct
|
||||
{
|
||||
HIP_RESOURCE_VIEW_DESC* pResViewDesc;
|
||||
hipTextureObject_t texObject;
|
||||
} hipTexObjectGetResourceViewDesc;
|
||||
struct
|
||||
{
|
||||
HIP_TEXTURE_DESC* pTexDesc;
|
||||
hipTextureObject_t texObject;
|
||||
} hipTexObjectGetTextureDesc;
|
||||
struct
|
||||
{
|
||||
hipDeviceptr_t* dev_ptr;
|
||||
const textureReference* texRef;
|
||||
} hipTexRefGetAddress;
|
||||
struct
|
||||
{
|
||||
enum hipTextureAddressMode* pam;
|
||||
const textureReference* texRef;
|
||||
int dim;
|
||||
} hipTexRefGetAddressMode;
|
||||
struct
|
||||
{
|
||||
enum hipTextureFilterMode* pfm;
|
||||
const textureReference* texRef;
|
||||
} hipTexRefGetFilterMode;
|
||||
struct
|
||||
{
|
||||
unsigned int* pFlags;
|
||||
const textureReference* texRef;
|
||||
@@ -2076,6 +2210,11 @@ typedef union rocprofiler_hip_api_args_u
|
||||
const textureReference* texRef;
|
||||
} hipTexRefGetMipMappedArray;
|
||||
struct
|
||||
{
|
||||
enum hipTextureFilterMode* pfm;
|
||||
const textureReference* texRef;
|
||||
} hipTexRefGetMipmapFilterMode;
|
||||
struct
|
||||
{
|
||||
float* pbias;
|
||||
const textureReference* texRef;
|
||||
@@ -2101,6 +2240,12 @@ typedef union rocprofiler_hip_api_args_u
|
||||
size_t Pitch;
|
||||
} hipTexRefSetAddress2D;
|
||||
struct
|
||||
{
|
||||
textureReference* texRef;
|
||||
int dim;
|
||||
enum hipTextureAddressMode am;
|
||||
} hipTexRefSetAddressMode;
|
||||
struct
|
||||
{
|
||||
textureReference* tex;
|
||||
hipArray_const_t array;
|
||||
@@ -2112,6 +2257,11 @@ typedef union rocprofiler_hip_api_args_u
|
||||
float* pBorderColor;
|
||||
} hipTexRefSetBorderColor;
|
||||
struct
|
||||
{
|
||||
textureReference* texRef;
|
||||
enum hipTextureFilterMode fm;
|
||||
} hipTexRefSetFilterMode;
|
||||
struct
|
||||
{
|
||||
textureReference* texRef;
|
||||
unsigned int Flags;
|
||||
@@ -2128,6 +2278,11 @@ typedef union rocprofiler_hip_api_args_u
|
||||
unsigned int maxAniso;
|
||||
} hipTexRefSetMaxAnisotropy;
|
||||
struct
|
||||
{
|
||||
textureReference* texRef;
|
||||
enum hipTextureFilterMode fm;
|
||||
} hipTexRefSetMipmapFilterMode;
|
||||
struct
|
||||
{
|
||||
textureReference* texRef;
|
||||
float bias;
|
||||
@@ -2140,15 +2295,19 @@ typedef union rocprofiler_hip_api_args_u
|
||||
} hipTexRefSetMipmapLevelClamp;
|
||||
struct
|
||||
{
|
||||
textureReference* texRef;
|
||||
hipMipmappedArray* mipmappedArray;
|
||||
unsigned int Flags;
|
||||
textureReference* texRef;
|
||||
struct hipMipmappedArray* mipmappedArray;
|
||||
unsigned int Flags;
|
||||
} hipTexRefSetMipmappedArray;
|
||||
struct
|
||||
{
|
||||
hipStreamCaptureMode* mode;
|
||||
} hipThreadExchangeStreamCaptureMode;
|
||||
struct
|
||||
{
|
||||
const textureReference* tex;
|
||||
} hipUnbindTexture;
|
||||
struct
|
||||
{
|
||||
hipUserObject_t* object_out;
|
||||
void* ptr;
|
||||
@@ -2173,4 +2332,330 @@ typedef union rocprofiler_hip_api_args_u
|
||||
unsigned int numExtSems;
|
||||
hipStream_t stream;
|
||||
} hipWaitExternalSemaphoresAsync;
|
||||
struct
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
int z;
|
||||
int w;
|
||||
hipChannelFormatKind f;
|
||||
} hipCreateChannelDesc;
|
||||
struct
|
||||
{
|
||||
hipFunction_t f;
|
||||
uint32_t globalWorkSizeX;
|
||||
uint32_t globalWorkSizeY;
|
||||
uint32_t globalWorkSizeZ;
|
||||
uint32_t localWorkSizeX;
|
||||
uint32_t localWorkSizeY;
|
||||
uint32_t localWorkSizeZ;
|
||||
size_t sharedMemBytes;
|
||||
hipStream_t hStream;
|
||||
void** kernelParams;
|
||||
void** extra;
|
||||
hipEvent_t startEvent;
|
||||
hipEvent_t stopEvent;
|
||||
uint32_t flags;
|
||||
} hipExtModuleLaunchKernel;
|
||||
struct
|
||||
{
|
||||
hipFunction_t f;
|
||||
uint32_t globalWorkSizeX;
|
||||
uint32_t globalWorkSizeY;
|
||||
uint32_t globalWorkSizeZ;
|
||||
uint32_t localWorkSizeX;
|
||||
uint32_t localWorkSizeY;
|
||||
uint32_t localWorkSizeZ;
|
||||
size_t sharedMemBytes;
|
||||
hipStream_t hStream;
|
||||
void** kernelParams;
|
||||
void** extra;
|
||||
hipEvent_t startEvent;
|
||||
hipEvent_t stopEvent;
|
||||
} hipHccModuleLaunchKernel;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
const void* src;
|
||||
size_t sizeBytes;
|
||||
hipMemcpyKind kind;
|
||||
} hipMemcpy_spt;
|
||||
struct
|
||||
{
|
||||
const void* symbol;
|
||||
const void* src;
|
||||
size_t sizeBytes;
|
||||
size_t offset;
|
||||
hipMemcpyKind kind;
|
||||
} hipMemcpyToSymbol_spt;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
const void* symbol;
|
||||
size_t sizeBytes;
|
||||
size_t offset;
|
||||
hipMemcpyKind kind;
|
||||
} hipMemcpyFromSymbol_spt;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
size_t dpitch;
|
||||
const void* src;
|
||||
size_t spitch;
|
||||
size_t width;
|
||||
size_t height;
|
||||
hipMemcpyKind kind;
|
||||
} hipMemcpy2D_spt;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
size_t dpitch;
|
||||
hipArray_const_t src;
|
||||
size_t wOffset;
|
||||
size_t hOffset;
|
||||
size_t width;
|
||||
size_t height;
|
||||
hipMemcpyKind kind;
|
||||
} hipMemcpy2DFromArray_spt;
|
||||
struct
|
||||
{
|
||||
const struct hipMemcpy3DParms* p;
|
||||
} hipMemcpy3D_spt;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
int value;
|
||||
size_t sizeBytes;
|
||||
} hipMemset_spt;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
int value;
|
||||
size_t sizeBytes;
|
||||
hipStream_t stream;
|
||||
} hipMemsetAsync_spt;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
size_t pitch;
|
||||
int value;
|
||||
size_t width;
|
||||
size_t height;
|
||||
} hipMemset2D_spt;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
size_t pitch;
|
||||
int value;
|
||||
size_t width;
|
||||
size_t height;
|
||||
hipStream_t stream;
|
||||
} hipMemset2DAsync_spt;
|
||||
struct
|
||||
{
|
||||
hipPitchedPtr pitchedDevPtr;
|
||||
int value;
|
||||
hipExtent extent;
|
||||
hipStream_t stream;
|
||||
} hipMemset3DAsync_spt;
|
||||
struct
|
||||
{
|
||||
hipPitchedPtr pitchedDevPtr;
|
||||
int value;
|
||||
hipExtent extent;
|
||||
} hipMemset3D_spt;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
const void* src;
|
||||
size_t sizeBytes;
|
||||
hipMemcpyKind kind;
|
||||
hipStream_t stream;
|
||||
} hipMemcpyAsync_spt;
|
||||
struct
|
||||
{
|
||||
const hipMemcpy3DParms* p;
|
||||
hipStream_t stream;
|
||||
} hipMemcpy3DAsync_spt;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
size_t dpitch;
|
||||
const void* src;
|
||||
size_t spitch;
|
||||
size_t width;
|
||||
size_t height;
|
||||
hipMemcpyKind kind;
|
||||
hipStream_t stream;
|
||||
} hipMemcpy2DAsync_spt;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
const void* symbol;
|
||||
size_t sizeBytes;
|
||||
size_t offset;
|
||||
hipMemcpyKind kind;
|
||||
hipStream_t stream;
|
||||
} hipMemcpyFromSymbolAsync_spt;
|
||||
struct
|
||||
{
|
||||
const void* symbol;
|
||||
const void* src;
|
||||
size_t sizeBytes;
|
||||
size_t offset;
|
||||
hipMemcpyKind kind;
|
||||
hipStream_t stream;
|
||||
} hipMemcpyToSymbolAsync_spt;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
hipArray_const_t src;
|
||||
size_t wOffsetSrc;
|
||||
size_t hOffset;
|
||||
size_t count;
|
||||
hipMemcpyKind kind;
|
||||
} hipMemcpyFromArray_spt;
|
||||
struct
|
||||
{
|
||||
hipArray_t dst;
|
||||
size_t wOffset;
|
||||
size_t hOffset;
|
||||
const void* src;
|
||||
size_t spitch;
|
||||
size_t width;
|
||||
size_t height;
|
||||
hipMemcpyKind kind;
|
||||
} hipMemcpy2DToArray_spt;
|
||||
struct
|
||||
{
|
||||
void* dst;
|
||||
size_t dpitch;
|
||||
hipArray_const_t src;
|
||||
size_t wOffsetSrc;
|
||||
size_t hOffsetSrc;
|
||||
size_t width;
|
||||
size_t height;
|
||||
hipMemcpyKind kind;
|
||||
hipStream_t stream;
|
||||
} hipMemcpy2DFromArrayAsync_spt;
|
||||
struct
|
||||
{
|
||||
hipArray_t dst;
|
||||
size_t wOffset;
|
||||
size_t hOffset;
|
||||
const void* src;
|
||||
size_t spitch;
|
||||
size_t width;
|
||||
size_t height;
|
||||
hipMemcpyKind kind;
|
||||
hipStream_t stream;
|
||||
} hipMemcpy2DToArrayAsync_spt;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
} hipStreamQuery_spt;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
} hipStreamSynchronize_spt;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
int* priority;
|
||||
} hipStreamGetPriority_spt;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
hipEvent_t event;
|
||||
unsigned int flags;
|
||||
} hipStreamWaitEvent_spt;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
unsigned int* flags;
|
||||
} hipStreamGetFlags_spt;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
hipStreamCallback_t callback;
|
||||
void* userData;
|
||||
unsigned int flags;
|
||||
} hipStreamAddCallback_spt;
|
||||
struct
|
||||
{
|
||||
hipEvent_t event;
|
||||
hipStream_t stream;
|
||||
} hipEventRecord_spt;
|
||||
struct
|
||||
{
|
||||
const void* f;
|
||||
dim3 gridDim;
|
||||
dim3 blockDim;
|
||||
void** kernelParams;
|
||||
uint32_t sharedMemBytes;
|
||||
hipStream_t hStream;
|
||||
} hipLaunchCooperativeKernel_spt;
|
||||
struct
|
||||
{
|
||||
const void* function_address;
|
||||
dim3 numBlocks;
|
||||
dim3 dimBlocks;
|
||||
void** args;
|
||||
size_t sharedMemBytes;
|
||||
hipStream_t stream;
|
||||
} hipLaunchKernel_spt;
|
||||
struct
|
||||
{
|
||||
hipGraphExec_t graphExec;
|
||||
hipStream_t stream;
|
||||
} hipGraphLaunch_spt;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
hipStreamCaptureMode mode;
|
||||
} hipStreamBeginCapture_spt;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
hipGraph_t* pGraph;
|
||||
} hipStreamEndCapture_spt;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
hipStreamCaptureStatus* pCaptureStatus;
|
||||
} hipStreamIsCapturing_spt;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
hipStreamCaptureStatus* pCaptureStatus;
|
||||
unsigned long long* pId;
|
||||
} hipStreamGetCaptureInfo_spt;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
hipStreamCaptureStatus* captureStatus_out;
|
||||
unsigned long long* id_out;
|
||||
hipGraph_t* graph_out;
|
||||
const hipGraphNode_t** dependencies_out;
|
||||
size_t* numDependencies_out;
|
||||
} hipStreamGetCaptureInfo_v2_spt;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
hipHostFn_t fn;
|
||||
void* userData;
|
||||
} hipLaunchHostFunc_spt;
|
||||
struct
|
||||
{
|
||||
hipStream_t stream;
|
||||
} hipGetStreamDeviceId;
|
||||
// struct
|
||||
// {
|
||||
// hipGraphNode_t* phGraphNode;
|
||||
// hipGraph_t hGraph;
|
||||
// const hipGraphNode_t* dependencies;
|
||||
// size_t numDependencies;
|
||||
// const HIP_MEMSET_NODE_PARAMS* memsetParams;
|
||||
// hipCtx_t ctx;
|
||||
// } hipDrvGraphAddMemsetNode;
|
||||
} rocprofiler_hip_api_args_t;
|
||||
|
||||
Criar uma nova questão referindo esta
Bloquear um utilizador