|Anonymous | Login | Signup for a new account||2018-01-19 16:12 MSK|
|Main | My View | View Issues | Change Log | Roadmap | Docs|
|Viewing Issue Simple Details|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0000776||[ALGLIB] General||minor||have not tried||2017-12-24 13:19||2017-12-24 13:19|
|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 ==
ALGLIB and MKL are configured to disable MKL fast memory management (reuse of thread-local buffers) on startup.
|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|
|Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group|