@@ -426,7 +426,11 @@ enum hip_api_id_t {
426426 HIP_API_ID_hipSetValidDevices = 406,
427427 HIP_API_ID_hipExtHostAlloc = 407,
428428 HIP_API_ID_hipStreamBatchMemOp = 408,
429- HIP_API_ID_LAST = 408,
429+ HIP_API_ID_hipGraphAddBatchMemOpNode = 409,
430+ HIP_API_ID_hipGraphBatchMemOpNodeGetParams = 410,
431+ HIP_API_ID_hipGraphBatchMemOpNodeSetParams = 411,
432+ HIP_API_ID_hipGraphExecBatchMemOpNodeSetParams = 412,
433+ HIP_API_ID_LAST = 412,
430434
431435 HIP_API_ID_hipChooseDevice = HIP_API_ID_CONCAT(HIP_API_ID_,hipChooseDevice),
432436 HIP_API_ID_hipGetDeviceProperties = HIP_API_ID_CONCAT(HIP_API_ID_,hipGetDeviceProperties),
@@ -861,6 +865,10 @@ static inline const char* hip_api_name(const uint32_t id) {
861865 case HIP_API_ID_hipWaitExternalSemaphoresAsync: return "hipWaitExternalSemaphoresAsync";
862866 case HIP_API_ID_hipExtGetLastError: return "hipExtGetLastError";
863867 case HIP_API_ID_hipStreamBatchMemOp: return "hipStreamBatchMemOp";
868+ case HIP_API_ID_hipGraphAddBatchMemOpNode: return "hipGraphAddBatchMemOpNode";
869+ case HIP_API_ID_hipGraphBatchMemOpNodeGetParams: return "hipGraphBatchMemOpNodeGetParams";
870+ case HIP_API_ID_hipGraphBatchMemOpNodeSetParams: return "hipGraphBatchMemOpNodeSetParams";
871+ case HIP_API_ID_hipGraphExecBatchMemOpNodeSetParams: return "hipGraphExecBatchMemOpNodeSetParams";
864872 };
865873 return "unknown";
866874};
@@ -1265,6 +1273,10 @@ static inline uint32_t hipApiIdByName(const char* name) {
12651273 if (strcmp("hipUserObjectRetain", name) == 0) return HIP_API_ID_hipUserObjectRetain;
12661274 if (strcmp("hipWaitExternalSemaphoresAsync", name) == 0) return HIP_API_ID_hipWaitExternalSemaphoresAsync;
12671275 if (strcmp("hipStreamBatchMemOp", name) == 0) return HIP_API_ID_hipStreamBatchMemOp;
1276+ if (strcmp("hipGraphAddBatchMemOpNode", name) == 0) return HIP_API_ID_hipGraphAddBatchMemOpNode;
1277+ if (strcmp("hipGraphBatchMemOpNodeGetParams", name) == 0) return HIP_API_ID_hipGraphBatchMemOpNodeGetParams;
1278+ if (strcmp("hipGraphBatchMemOpNodeSetParams", name) == 0) return HIP_API_ID_hipGraphBatchMemOpNodeSetParams;
1279+ if (strcmp("hipGraphExecBatchMemOpNodeSetParams", name) == 0) return HIP_API_ID_hipGraphExecBatchMemOpNodeSetParams;
12681280 return HIP_API_ID_NONE;
12691281}
12701282
@@ -3633,6 +3645,32 @@ typedef struct hip_api_data_s {
36333645 hipStreamBatchMemOpParams paramArray__val;
36343646 unsigned int flags;
36353647 } hipStreamBatchMemOp;
3648+ struct {
3649+ hipGraphNode_t* phGraphNode;
3650+ hipGraphNode_t phGraphNode__val;
3651+ hipGraph_t hGraph;
3652+ const hipGraphNode_t* dependencies;
3653+ hipGraphNode_t dependencies__val;
3654+ size_t numDependencies;
3655+ const hipBatchMemOpNodeParams* nodeParams;
3656+ hipBatchMemOpNodeParams nodeParams__val;
3657+ } hipGraphAddBatchMemOpNode;
3658+ struct {
3659+ hipGraphNode_t hNode;
3660+ hipBatchMemOpNodeParams* nodeParams_out;
3661+ hipBatchMemOpNodeParams nodeParams_out__val;
3662+ } hipGraphBatchMemOpNodeGetParams;
3663+ struct {
3664+ hipGraphNode_t hNode;
3665+ hipBatchMemOpNodeParams* nodeParams;
3666+ hipBatchMemOpNodeParams nodeParams__val;
3667+ } hipGraphBatchMemOpNodeSetParams;
3668+ struct {
3669+ hipGraphExec_t hGraphExec;
3670+ hipGraphNode_t hNode;
3671+ const hipBatchMemOpNodeParams* nodeParams;
3672+ hipBatchMemOpNodeParams nodeParams__val;
3673+ } hipGraphExecBatchMemOpNodeSetParams;
36363674 } args;
36373675 uint64_t *phase_data;
36383676} hip_api_data_t;
@@ -6045,6 +6083,36 @@ typedef struct hip_api_data_s {
60456083 cb_data.args.hipWaitExternalSemaphoresAsync.numExtSems = (unsigned int)numExtSems; \
60466084 cb_data.args.hipWaitExternalSemaphoresAsync.stream = (hipStream_t)stream; \
60476085};
6086+
6087+ // hipGraphAddBatchMemOpNode[('hipGraphNode_t*', 'phGraphNode'), ('hipGraph_t', 'hGraph'),
6088+ // ('hipGraphNode_t*', 'dependencies'), ('size_t', 'numDependencies'),
6089+ // ('hipBatchMemOpNodeParams*'), 'nodeParams')]
6090+ #define INIT_hipGraphAddBatchMemOpNode_CB_ARGS_DATA(cb_data) { \
6091+ cb_data.args.hipGraphAddBatchMemOpNode.phGraphNode = (hipGraphNode_t*)phGraphNode; \
6092+ cb_data.args.hipGraphAddBatchMemOpNode.hGraph = (hipGraph_t)hGraph; \
6093+ cb_data.args.hipGraphAddBatchMemOpNode.dependencies= (hipGraphNode_t*)dependencies; \
6094+ cb_data.args.hipGraphAddBatchMemOpNode.numDependencies = (size_t)numDependencies; \
6095+ cb_data.args.hipGraphAddBatchMemOpNode.nodeParams = (hipBatchMemOpNodeParams*)nodeParams; \
6096+ };
6097+ // hipGraphBatchMemOpNodeGetParams[('hipGraphNode_t', hNode),
6098+ // ('hipBatchMemOpNodeParams*', 'nodeParams_out')]
6099+ #define INIT_hipGraphBatchMemOpNodeGetParams_CB_ARGS_DATA(cb_data) { \
6100+ cb_data.args.hipGraphBatchMemOpNodeGetParams.hNode = (hipGraphNode_t)hNode; \
6101+ cb_data.args.hipGraphBatchMemOpNodeGetParams.nodeParams_out = (hipBatchMemOpNodeParams*)nodeParams_out; \
6102+ };
6103+ // hipGraphBatchMemOpNodeSetParams[('hipGraphNode_t', hNode),
6104+ // ('hipBatchMemOpNodeParams*', 'nodeParams')]
6105+ #define INIT_hipGraphBatchMemOpNodeSetParams_CB_ARGS_DATA(cb_data) { \
6106+ cb_data.args.hipGraphBatchMemOpNodeSetParams.hNode = (hipGraphNode_t)hNode; \
6107+ cb_data.args.hipGraphBatchMemOpNodeSetParams.nodeParams = (hipBatchMemOpNodeParams*)nodeParams; \
6108+ };
6109+ // hipGraphExecBatchMemOpNodeSetParams[('hipGraphExec_t'. hGraphExec),
6110+ // ('hipGraphNode_t'. hNode), ('hipBatchMemOpNodeParams*', 'nodeParams')]
6111+ #define INIT_hipGraphExecBatchMemOpNodeSetParams_CB_ARGS_DATA(cb_data) { \
6112+ cb_data.args.hipGraphExecBatchMemOpNodeSetParams.hGraphExec = (hipGraphExec_t)hGraphExec; \
6113+ cb_data.args.hipGraphExecBatchMemOpNodeSetParams.hNode = (hipGraphNode_t)hNode; \
6114+ cb_data.args.hipGraphExecBatchMemOpNodeSetParams.nodeParams= (hipBatchMemOpNodeParams*)nodeParams; \
6115+ };
60486116#define INIT_CB_ARGS_DATA(cb_id, cb_data) INIT_##cb_id##_CB_ARGS_DATA(cb_data)
60496117
60506118// Macros for non-public API primitives
@@ -7551,6 +7619,29 @@ static inline void hipApiArgsInit(hip_api_id_t id, hip_api_data_t* data) {
75517619 case HIP_API_ID_hipStreamBatchMemOp:
75527620 if (data->args.hipStreamBatchMemOp.paramArray) data->args.hipStreamBatchMemOp.paramArray__val = *(data->args.hipStreamBatchMemOp.paramArray);
75537621 break;
7622+ // hipGraphAddBatchMemOpNode[('hipGraphNode_t*', 'phGraphNode'), ('hipGraph_t', 'hGraph'),
7623+ // ('hipGraphNode_t*', 'dependencies'), ('size_t', 'numDependencies'),
7624+ // ('hipBatchMemOpNodeParams*'), 'nodeParams')]
7625+ case HIP_API_ID_hipGraphAddBatchMemOpNode:
7626+ if (data->args.hipGraphAddBatchMemOpNode.phGraphNode) data->args.hipGraphAddBatchMemOpNode.phGraphNode__val = *(data->args.hipGraphAddBatchMemOpNode.phGraphNode);
7627+ if (data->args.hipGraphAddBatchMemOpNode.dependencies) data->args.hipGraphAddBatchMemOpNode.dependencies__val = *(data->args.hipGraphAddBatchMemOpNode.dependencies);
7628+ if (data->args.hipGraphAddBatchMemOpNode.nodeParams) data->args.hipGraphAddBatchMemOpNode.nodeParams__val = *(data->args.hipGraphAddBatchMemOpNode.nodeParams);
7629+ break;
7630+ // hipGraphBatchMemOpNodeGetParams[('hipGraphNode_t', hNode),
7631+ // ('hipBatchMemOpNodeParams*', 'nodeParams_out')]
7632+ case HIP_API_ID_hipGraphBatchMemOpNodeGetParams:
7633+ if (data->args.hipGraphBatchMemOpNodeGetParams.nodeParams_out) data->args.hipGraphBatchMemOpNodeGetParams.nodeParams_out__val = *(data->args.hipGraphBatchMemOpNodeGetParams.nodeParams_out);
7634+ break;
7635+ // hipGraphBatchMemOpNodeSetParams[('hipGraphNode_t', hNode),
7636+ // ('hipBatchMemOpNodeParams*', 'nodeParams')]
7637+ case HIP_API_ID_hipGraphBatchMemOpNodeSetParams:
7638+ if (data->args.hipGraphBatchMemOpNodeSetParams.nodeParams) data->args.hipGraphBatchMemOpNodeSetParams.nodeParams__val = *(data->args.hipGraphBatchMemOpNodeSetParams.nodeParams);
7639+ break;
7640+ // hipGraphExecBatchMemOpNodeSetParams[('hipGraphExec_t'. hGraphExec),
7641+ // ('hipGraphNode_t'. hNode), ('hipBatchMemOpNodeParams*', 'nodeParams')]
7642+ case HIP_API_ID_hipGraphExecBatchMemOpNodeSetParams:
7643+ if (data->args.hipGraphExecBatchMemOpNodeSetParams.nodeParams) data->args.hipGraphExecBatchMemOpNodeSetParams.nodeParams__val = *(data->args.hipGraphExecBatchMemOpNodeSetParams.nodeParams);
7644+ break;
75547645// hipTexRefGetAddress[('hipDeviceptr_t*', 'dev_ptr'), ('const textureReference*', 'texRef')]
75557646 case HIP_API_ID_hipTexRefGetAddress:
75567647 if (data->args.hipTexRefGetAddress.dev_ptr) data->args.hipTexRefGetAddress.dev_ptr__val = *(data->args.hipTexRefGetAddress.dev_ptr);
@@ -10843,6 +10934,34 @@ static inline const char* hipApiString(hip_api_id_t id, const hip_api_data_t* da
1084310934 oss << ", stream="; roctracer::hip_support::detail::operator<<(oss, data->args.hipWaitExternalSemaphoresAsync.stream);
1084410935 oss << ")";
1084510936 break;
10937+ case HIP_API_ID_hipGraphAddBatchMemOpNode:
10938+ oss << "hipGraphAddBatchMemOpNode(";
10939+ oss << "phGraphNode="; roctracer::hip_support::detail::operator<<(oss, data->args.hipGraphAddBatchMemOpNode.phGraphNode);
10940+ oss << ", hGraph="; roctracer::hip_support::detail::operator<<(oss, data->args.hipGraphAddBatchMemOpNode.hGraph);
10941+ oss << ", dependencies="; roctracer::hip_support::detail::operator<<(oss, data->args.hipGraphAddBatchMemOpNode.dependencies);
10942+ oss << ", numDependencies="; roctracer::hip_support::detail::operator<<(oss, data->args.hipGraphAddBatchMemOpNode.numDependencies);
10943+ oss << ", nodeParams="; roctracer::hip_support::detail::operator<<(oss, data->args.hipGraphAddBatchMemOpNode.nodeParams);
10944+ oss << ")";
10945+ break;
10946+ case HIP_API_ID_hipGraphBatchMemOpNodeGetParams:
10947+ oss << "hipGraphBatchMemOpNodeGetParams(";
10948+ oss << "hNode="; roctracer::hip_support::detail::operator<<(oss, data->args.hipGraphBatchMemOpNodeGetParams.hNode);
10949+ oss << ", nodeParams_out="; roctracer::hip_support::detail::operator<<(oss, data->args.hipGraphBatchMemOpNodeGetParams.nodeParams_out);
10950+ oss << ")";
10951+ break;
10952+ case HIP_API_ID_hipGraphBatchMemOpNodeSetParams:
10953+ oss << "hipGraphBatchMemOpNodeSetParams(";
10954+ oss << "hNode="; roctracer::hip_support::detail::operator<<(oss, data->args.hipGraphBatchMemOpNodeSetParams.hNode);
10955+ oss << ", nodeParams="; roctracer::hip_support::detail::operator<<(oss, data->args.hipGraphBatchMemOpNodeSetParams.nodeParams);
10956+ oss << ")";
10957+ break;
10958+ case HIP_API_ID_hipGraphExecBatchMemOpNodeSetParams:
10959+ oss << "hipGraphExecBatchMemOpNodeSetParams(";
10960+ oss << "hGraphExec="; roctracer::hip_support::detail::operator<<(oss, data->args.hipGraphExecBatchMemOpNodeSetParams.hGraphExec);
10961+ oss << ", hNode="; roctracer::hip_support::detail::operator<<(oss, data->args.hipGraphExecBatchMemOpNodeSetParams.hNode);
10962+ oss << ", nodeParams="; roctracer::hip_support::detail::operator<<(oss, data->args.hipGraphExecBatchMemOpNodeSetParams.nodeParams);
10963+ oss << ")";
10964+ break;
1084610965 default: oss << "unknown";
1084710966 };
1084810967 return strdup(oss.str().c_str());
0 commit comments