Compare padded struct parameter in CUPTI kernel launch callback

Hi,

I’m trying to compare the parameters of two kernel launches but I noticed that if a struct is passed (by value) the compiler might insert padding between members of the struct.

In the callback, I can only observe the size of the struct parameter (in kernelParams), not the type or the number/offset/sizes of struct members. If I compare parameters from different launches, I might thus inadvertently compare padding bytes.

Is there a way around this? (preferably without requiring the source/ptx)

Thanks!