Anonymous | Login | Signup for a new account | 2024-11-22 08:48 MSK |
Main | My View | View Issues | Change Log | Roadmap | Docs |
Viewing Issue Advanced Details [ Jump to Notes ] | [ View Simple ] [ Issue History ] [ Print ] | ||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||
0000776 | [ALGLIB] General | minor | have not tried | 2017-12-24 13:19 | 2018-05-08 12:33 | ||
Reporter | SergeyB | View Status | public | ||||
Assigned To | SergeyB | ||||||
Priority | normal | Resolution | fixed | Platform | |||
Status | resolved | OS | |||||
Projection | none | OS Version | |||||
ETA | none | Fixed in Version | 3.14.0 | Product Version | |||
Target Version | 3.14.0 | Product Build | |||||
Summary | 0000776: FIXED: memory leak in the heavily threaded code utilizing Intel MKL | ||||||
Description |
=== Problem description === Intel MKL in its default configuration allocates thread-local buffer storage which is used to accelerate computations (create aligned copies of data). The problem is that this buffer is not deallocated after exit from MKL - just for the case same thread will call MKL one more time. When application spawns many threads, it results in creation of multiple thread-local buffers; when many threads are spawned constantly (as it happens with some threading frameworks, including NET Task Parallel Library) it results in steadily growing memory consumption. To be exact, memory is not actually lost - it can be freed with just one call of mkl_free_buffers(). However, such behavior is still undesirable. === Solution == A watchdog thread starts on MKL startup which performs periodic (once in a few seconds) cleanup of unused buffers. |
||||||
Steps To Reproduce | |||||||
Additional Information | |||||||
Programming language | Unspecified | ||||||
Attached Files | |||||||
|
There are no notes attached to this issue. |
Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group |