Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

MKL Sorting routine?

ids-removed295
Beginner
2,068 Views
Does the MKL, (or any of the other Intel-available libraries), provide an optimized sort for real, and/or double-precision valued vectors?
0 Kudos
6 Replies
Todd_R_Intel
Employee
2,068 Views
Intel MKL does not. Perhaps the Intel Integrated Performance Primitives (Intel IPP) has this functionality. I'll ask.
-Todd
0 Kudos
ids-removed295
Beginner
2,068 Views
Much appreciated. I rooted around on the intel site and didn't find any but you might have better luck.
Beau
0 Kudos
Todd_R_Intel
Employee
2,068 Views
I got this from someone on the Intel IPP team...
"...the closest one you can find is ippsNthMaxElement. This function is to find n maximal or minimal elements..."
Useful? You could also try the Intel IPP forum.
Good luck,
Todd
0 Kudos
Intel_C_Intel
Employee
2,068 Views
Beau, Glad to see that you have found the MKL Forum. It has been a long time since we have chatted. We have not put any sorting software in MKL but there are a number of functions which we might consider to be supporting functions which we are considering for future versions including such operations as matrix copy, matrix transpose, and perhaps other data movement functions. Certainly sorting functions are candidates for future versions of MKL. Bruce
0 Kudos
ids-removed295
Beginner
2,068 Views
Bruce,
Good hearing from you. The MKL capabilities have certainly evolved since our initial usage. Some optimized "basic help" routines that would be helpful for us include:
- Optimized real and double vector sort
- memcpy
- transpose
- VML functions for gamma() and gammaln()
Beau Paisley, Harmonic Software, beau@omatrix.com
0 Kudos
Sergey_M_Intel2
Employee
2,068 Views
Beau,
Did you try gamma and lgamma functions from Intel compiler math library? Any reasons to not use libm implementations? I'm asking you because,basing onour experience,gamma/lgamma vector implementation (say, SSE-based) wouldn't give performance benefits comparing with scalar libm implementations. That was the reason why we didn't include vector implementations of gamma and lgamma.
Say, for lgamma it is possible to get performance benefits on the branch where Stirling's approximation works good (x>x0>0), where x0 ~=6..7. For x<=x0 our vision is that lgamma wouldn't be (visibly) faster that scalar libm implementation.
Your thoughts, comments are appreciated.
Wrt sort functions, this is what might be done on MKL side, in my view.
Thank you,
Sergey
0 Kudos
Reply