statisticalbiotechnology / triqler

The triqler (TRansparent Identification-Quantification-linked Error Rates)'s source and example code
Apache License 2.0
19 stars 9 forks source link

Calculating PEPs can be extremely slow due to numpy OMP multiprocessing #13

Closed MatthewThe closed 3 years ago

MatthewThe commented 3 years ago

On some systems (e.g. Ubuntu), calculating PEPs with getQvaluesFromScores is extremely slow (more than 1 minute instead of just a few seconds) when OMP multithreading is not disabled for numpy. This can be circumvented by prepending the call to Triqler/Qvality by OMP_NUM_THREADS=1. I'm not sure yet which of the numpy functions is causing this, but it's most likely one of the matrix functions used in the IRLS.

https://github.com/statisticalbiotechnology/triqler/blob/b433f7bf148b6b4d90a09c0d8469712281badf95/triqler/qvality.py#L28

wfondrie commented 2 years ago

@MatthewThe - any idea on a timeline for a new release containing this PR?

MatthewThe commented 2 years ago

Sorry, updating the package is indeed long overdue. I will try to make a new release tomorrow.