- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I have observed that deleting an interpolation task by dfDeleteTask doesn't affect the number of allocated buffers (using mkl_mem_stat). Is this an expected behaviour? According to the manual of dfDeleteTask I expect the deallocation owned by the task.
To explain this I have attached code which is an adapted example taken from https://software.intel.com/en-us/node/522217. I have executed the attached example with icpc version 17.0.0.
Thank you very much for helpful comments.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Mario,
Data Fitting component of Intel MKL internally relies on use of the Intel MKL memory allocator.
To improve the performance of the Intel MKL based application, the allocator uses memory pools where buffers can be collected for fast re-use.
You should call mkl_free_buffers() routine, that frees unused memory allocated by the memory allocator, after the last call to the library’s functions.
Please, see additional details on mkl_free_buffers() routine at https://software.intel.com/en-us/node/522136
You may want to check the status of Intel MKL memory allocator by calling the mkl_mem_stat() routine before and after call the call to mkl_free_buffers() routine.
Best regards,
Vlad V.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Mario,
Data Fitting component of Intel MKL internally relies on use of the Intel MKL memory allocator.
To improve the performance of the Intel MKL based application, the allocator uses memory pools where buffers can be collected for fast re-use.
You should call mkl_free_buffers() routine, that frees unused memory allocated by the memory allocator, after the last call to the library’s functions.
Please, see additional details on mkl_free_buffers() routine at https://software.intel.com/en-us/node/522136
You may want to check the status of Intel MKL memory allocator by calling the mkl_mem_stat() routine before and after call the call to mkl_free_buffers() routine.
Best regards,
Vlad V.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vlad,
thanks for this useful hint!
I hoped to use mkl_mem_stat to detect memory leaks in my code. This implies that the information provided by mkl_mem_stat is useless this case.
Best regards,
Mario
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page