|Anonymous | Login | Signup for a new account||2020-08-08 18:11 MSK|
|Main | My View | View Issues | Change Log | Roadmap | Docs|
|Viewing Issue Advanced Details|
|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|
|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|
=== 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|
|There are no notes attached to this issue.|
|2017-12-24 13:19||SergeyB||New Issue|
|2017-12-24 13:19||SergeyB||Status||new => assigned|
|2017-12-24 13:19||SergeyB||Assigned To||=> SergeyB|
|2017-12-24 13:19||SergeyB||Programming language||=> Unspecified|
|2017-12-24 13:19||SergeyB||Status||assigned => resolved|
|2017-12-24 13:19||SergeyB||Fixed in Version||=> 3.13.0|
|2017-12-24 13:19||SergeyB||Resolution||open => fixed|
|2018-04-03 14:01||SergeyB||Status||resolved => assigned|
|2018-04-03 14:02||SergeyB||Resolution||fixed => open|
|2018-04-03 14:02||SergeyB||Fixed in Version||3.13.0 =>|
|2018-04-03 14:02||SergeyB||Target Version||3.13.0 => 3.14.0|
|2018-05-08 12:32||SergeyB||Description Updated|
|2018-05-08 12:33||SergeyB||Status||assigned => resolved|
|2018-05-08 12:33||SergeyB||Fixed in Version||=> 3.14.0|
|2018-05-08 12:33||SergeyB||Resolution||open => fixed|
|Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group|