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

vslSSEdit* functions

Keith_L_1
Beginner
1,273 Views

Are the various vslSSEdit* functions (e.g., vslSSEditCovCor) convenience wrappers for calls to vslSSEditTask?

0 Kudos
4 Replies
Zhang_Z_Intel
Employee
1,273 Views

Keith L. wrote:

Are the various vslSSEdit* functions (e.g., vslSSEditCovCor) convenience wrappers for calls to vslSSEditTask?

Yes.

0 Kudos
Keith_L_1
Beginner
1,273 Views

Got it. Thanks.
I'm sure you couldn't care less about Excel, but http://xllmkl.codeplex.com is a (very preliminary) attempt to expose MKL functionality in Excel.

0 Kudos
Zhang_Z_Intel
Employee
1,273 Views

Hi Keith,

Thank you very much for telling us about XLLMKL. We do care about Excel! A few years ago, some of my colleagues wrote a Knowledge Base article describing how to add MKL functionality to Excel. It can still be found here: http://software.intel.com/en-us/articles/use-intel-mkl-from-microsoft-office-excel

This article is probably a bit out-of-date now, but hopefully it can be helpful for you.

Zhang

0 Kudos
Keith_L_1
Beginner
1,273 Views

Thanks Zhang,

Cool! I use (and wrote) http://xll.codeplex.com with xllmkl. The VBA Declare technique is too fragile for production code. It also does not give you access to the Excel FP data type: http://xll.codeplex.com/wikipage?title=FP This is the key to high-performance add-ins for numerical work. You can hand the double pointer to MKL and avoid marshalling data though the VBA COM interface. Calculating the inverse of a 1000x1000 matrix takes 0.2 seconds on my 2.4GHz i5 laptop.

The trickier problem I'm trying to solve is how to integrate the Create/Edit/Compute/Delete cycle for tasks with Excel. Excel is purely functional. The xll::handle<T> class http://xll.codeplex.com/wikipage?title=Handles works for lightweight C++ classes, but is not suitable for the MKL paradigm. The best I can come up with is https://xllmkl.codeplex.com/SourceControl/latest#vslSS.cpp. It might not be pretty, but it seems to work.

-Keith

0 Kudos
Reply