Memory leak in cuptiMetricGetIdFromName

Dear CUDA CUPTI Developers,

I have observed a memory leak in cuptiMetricGetIdFromName, which I would like to report. Please forgive me if this is not the right forum for this post. Please suggest the right forum.

I am using a GPU Quadro K4000 to run my CUPTI experiments. I am using a simple kernel (vectorAdd) from the CUDA SDK samples to collect CUPTI events and metrics. I have reused the code which is present in callback_metric in the CUPTI samples directory.

The memory leak from a valgrind run follows:

==22051== 40 (32 direct, 8 indirect) bytes in 1 blocks are definitely lost in loss record 4,116 of 4,886
==22051== at 0x4C2B0E0: operator new(unsigned long) (in /usr/lib/valgrind/
==22051== by 0x85A721A: ??? (in /usr/local/cuda-6.0/extras/CUPTI/lib64/
==22051== by 0x85BA93E: ??? (in /usr/local/cuda-6.0/extras/CUPTI/lib64/
==22051== by 0x85BE5AC: ??? (in /usr/local/cuda-6.0/extras/CUPTI/lib64/
==22051== by 0x850F41C: cuptiMetricGetIdFromName (in /usr/local/cuda-6.0/extras/CUPTI/lib64/
==22051== by 0x408EA9: getMetricValue(int, char const*, char const*, int, int, int, unsigned int, _IO_FILE*) (in /home/manumachu/EnergyEfficiency/CUDA/PowerAnalysis/CUPTI/cuptiMain)
==22051== by 0x4098D0: cuptiRun(int, char const*, char const*, int, int, int, unsigned int, _IO_FILE*) (in /home/manumachu/EnergyEfficiency/CUDA/PowerAnalysis/CUPTI/cuptiMain)
==22051== by 0x409D42: cuptiMain(int, char const*, char const*, int, int, int, unsigned int) (in /home/manumachu/EnergyEfficiency/CUDA/PowerAnalysis/CUPTI/cuptiMain)
==22051== by 0x409E64: nvmlNonDVFS(int, char const*, char const*, unsigned int, int, int, int, unsigned int) (in /home/manumachu/EnergyEfficiency/CUDA/PowerAnalysis/CUPTI/cuptiMain)
==22051== by 0x40A3A1: main (in /home/manumachu/EnergyEfficiency/CUDA/PowerAnalysis/CUPTI/cuptiMain)

Ihe function signature follows:

CUptiResult cuptiMetricGetIdFromName ( CUdevice device, const char* metricName, CUpti_MetricID* metric )
Find an metric by name.

I think the leak is due to a lack of any mechanism to free/delete the metric ID returned by the call. Could you please tell me if there is a function which deletes the metric ID reurned by this call?

Best Regards