@@ -425,7 +425,8 @@ enum hip_api_id_t {
425425 HIP_API_ID_hipMemcpyHtoAAsync = 405,
426426 HIP_API_ID_hipSetValidDevices = 406,
427427 HIP_API_ID_hipExtHostAlloc = 407,
428- HIP_API_ID_LAST = 407,
428+ HIP_API_ID_hipStreamBatchMemOp = 408,
429+ HIP_API_ID_LAST = 408,
429430
430431 HIP_API_ID_hipChooseDevice = HIP_API_ID_CONCAT(HIP_API_ID_,hipChooseDevice),
431432 HIP_API_ID_hipGetDeviceProperties = HIP_API_ID_CONCAT(HIP_API_ID_,hipGetDeviceProperties),
@@ -545,7 +546,6 @@ static inline const char* hip_api_name(const uint32_t id) {
545546 case HIP_API_ID_hipEventQuery: return "hipEventQuery";
546547 case HIP_API_ID_hipEventRecord: return "hipEventRecord";
547548 case HIP_API_ID_hipEventSynchronize: return "hipEventSynchronize";
548- case HIP_API_ID_hipExtGetLastError: return "hipExtGetLastError";
549549 case HIP_API_ID_hipExtGetLinkTypeAndHopCount: return "hipExtGetLinkTypeAndHopCount";
550550 case HIP_API_ID_hipExtLaunchKernel: return "hipExtLaunchKernel";
551551 case HIP_API_ID_hipExtLaunchMultiKernelMultiDevice: return "hipExtLaunchMultiKernelMultiDevice";
@@ -859,6 +859,8 @@ static inline const char* hip_api_name(const uint32_t id) {
859859 case HIP_API_ID_hipUserObjectRelease: return "hipUserObjectRelease";
860860 case HIP_API_ID_hipUserObjectRetain: return "hipUserObjectRetain";
861861 case HIP_API_ID_hipWaitExternalSemaphoresAsync: return "hipWaitExternalSemaphoresAsync";
862+ case HIP_API_ID_hipExtGetLastError: return "hipExtGetLastError";
863+ case HIP_API_ID_hipStreamBatchMemOp: return "hipStreamBatchMemOp";
862864 };
863865 return "unknown";
864866};
@@ -1262,6 +1264,7 @@ static inline uint32_t hipApiIdByName(const char* name) {
12621264 if (strcmp("hipUserObjectRelease", name) == 0) return HIP_API_ID_hipUserObjectRelease;
12631265 if (strcmp("hipUserObjectRetain", name) == 0) return HIP_API_ID_hipUserObjectRetain;
12641266 if (strcmp("hipWaitExternalSemaphoresAsync", name) == 0) return HIP_API_ID_hipWaitExternalSemaphoresAsync;
1267+ if (strcmp("hipStreamBatchMemOp", name) == 0) return HIP_API_ID_hipStreamBatchMemOp;
12651268 return HIP_API_ID_NONE;
12661269}
12671270
@@ -3623,6 +3626,13 @@ typedef struct hip_api_data_s {
36233626 unsigned int numExtSems;
36243627 hipStream_t stream;
36253628 } hipWaitExternalSemaphoresAsync;
3629+ struct {
3630+ hipStream_t stream;
3631+ unsigned int count;
3632+ hipStreamBatchMemOpParams* paramArray;
3633+ hipStreamBatchMemOpParams paramArray__val;
3634+ unsigned int flags;
3635+ } hipStreamBatchMemOp;
36263636 } args;
36273637 uint64_t *phase_data;
36283638} hip_api_data_t;
@@ -5892,6 +5902,15 @@ typedef struct hip_api_data_s {
58925902 cb_data.args.hipStreamWriteValue64.value = (uint64_t)value; \
58935903 cb_data.args.hipStreamWriteValue64.flags = (unsigned int)flags; \
58945904};
5905+
5906+ // hipStreamBatchMemOp[('hipStream_t', 'stream'), ('unsigned int', 'count'),
5907+ // ('hipStreamBatchMemOpParams*', 'paramArray'), ('unsigned int', 'flags')]
5908+ #define INIT_hipStreamBatchMemOp_CB_ARGS_DATA(cb_data) { \
5909+ cb_data.args.hipStreamBatchMemOp.stream = (hipStream_t)stream; \
5910+ cb_data.args.hipStreamBatchMemOp.count = (unsigned int)count; \
5911+ cb_data.args.hipStreamBatchMemOp.paramArray= (hipStreamBatchMemOpParams*)paramArray; \
5912+ cb_data.args.hipStreamBatchMemOp.flags = (unsigned int)flags; \
5913+ };
58955914// hipTexRefGetAddress[('hipDeviceptr_t*', 'dev_ptr'), ('const textureReference*', 'texRef')]
58965915#define INIT_hipTexRefGetAddress_CB_ARGS_DATA(cb_data) { \
58975916 cb_data.args.hipTexRefGetAddress.dev_ptr = (hipDeviceptr_t*)dptr; \
@@ -7527,6 +7546,11 @@ static inline void hipApiArgsInit(hip_api_id_t id, hip_api_data_t* data) {
75277546// hipStreamWriteValue64[('hipStream_t', 'stream'), ('void*', 'ptr'), ('uint64_t', 'value'), ('unsigned int', 'flags')]
75287547 case HIP_API_ID_hipStreamWriteValue64:
75297548 break;
7549+ // hipStreamBatchMemOp[('hipStream_t', 'stream'), ('unsigned int', 'count'),
7550+ // ('hipStreamBatchMemOpParams*', 'paramArray'), ('unsigned int', 'flags')]
7551+ case HIP_API_ID_hipStreamBatchMemOp:
7552+ if (data->args.hipStreamBatchMemOp.paramArray) data->args.hipStreamBatchMemOp.paramArray__val = *(data->args.hipStreamBatchMemOp.paramArray);
7553+ break;
75307554// hipTexRefGetAddress[('hipDeviceptr_t*', 'dev_ptr'), ('const textureReference*', 'texRef')]
75317555 case HIP_API_ID_hipTexRefGetAddress:
75327556 if (data->args.hipTexRefGetAddress.dev_ptr) data->args.hipTexRefGetAddress.dev_ptr__val = *(data->args.hipTexRefGetAddress.dev_ptr);
@@ -10614,6 +10638,15 @@ static inline const char* hipApiString(hip_api_id_t id, const hip_api_data_t* da
1061410638 oss << ", flags="; roctracer::hip_support::detail::operator<<(oss, data->args.hipStreamWriteValue64.flags);
1061510639 oss << ")";
1061610640 break;
10641+ case HIP_API_ID_hipStreamBatchMemOp:
10642+ oss << "hipStreamBatchMemOp(";
10643+ oss << "stream="; roctracer::hip_support::detail::operator<<(oss, data->args.hipStreamBatchMemOp.stream);
10644+ oss << ", count="; roctracer::hip_support::detail::operator<<(oss, data->args.hipStreamBatchMemOp.count);
10645+ if (data->args.hipStreamBatchMemOp.paramArray == NULL) oss << ", paramArray=NULL";
10646+ else { oss << ", paramArray="; roctracer::hip_support::detail::operator<<(oss, data->args.hipStreamBatchMemOp.paramArray__val); }
10647+ oss << ", flags="; roctracer::hip_support::detail::operator<<(oss, data->args.hipStreamBatchMemOp.flags);
10648+ oss << ")";
10649+ break;
1061710650 case HIP_API_ID_hipTexRefGetAddress:
1061810651 oss << "hipTexRefGetAddress(";
1061910652 if (data->args.hipTexRefGetAddress.dev_ptr == NULL) oss << "dev_ptr=NULL";
0 commit comments