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

vslSaveStreamF vslLoadStreamF

lillian
Beginner
765 Views

Are the files created by vslSaveStreamF with one version of mkl not loadable (vslLoadStreamF) with another version of mkl?

0 Kudos
7 Replies
Todd_R_Intel
Employee
765 Views

The way you've phrased that makes me think you're having problems. I would hope that they are, and in quickly searching the docs don't see that we warn against it, but I will check with engineering about expecations and/or known issues. Meanwhile, if you're having problems, feel free to let us know what's happening (in other words, is it not working? Which versions? testcase?).

-Todd

0 Kudos
Andrey_N_Intel
Employee
765 Views

Hello Lillian,

vslSaveStreamF function is expected to support backward and forward compatibility between versions of Intel(R) MKL, that is the files created by vslSaveStreamF with one version of Intel(R) MKL should be successfully loaded by vslLoadStreamF with another version of the library.

Please, let us know if this answers your question or you observe a different behavior of the library.

Thanks,

Andrey

0 Kudos
lillian
Beginner
765 Views

I am indeed having trouble.  I am using a large cluster and the operating system on the cluster was upgraded as well as the intel compiler.  I was using header files and libraries located at /opt/intel/mkl/10.1.2.024 (which I believe indicates the version).  Now its at .../intel/composer_xe_2013.1.117.  Basically, when I try to load a file that was saved using the previous version, I get "Segmentation fault" on the command line.  However, if I save and then load using the new version, everything seems to work fine.  I suspect it's an incompatibility problem between files, but I'm not sure.  I suppose it could have to do with other upgrades made on the cluster. 

Thanks

PS. I just did some more tinkering and was able to use the function vslLoadStreamF() without getting a "Segmentation fault".  However I get the error code -1110 which I understand means VSL_RNG_ERROR_BAD_FILE_FORMAT.  Therefore, the files I saved with an old version of intel are not compatible with the new version.  What can I do?

PSS. Im told that the operating system was upgraded from el5 OS to the el6 OS.  So the problem might have to do with the operating system.

0 Kudos
Andrey_N_Intel
Employee
765 Views

Hello Lillian,

I was able to reproduce "segmentation fault" with MKL 10.1 and Composer 2013 on the same OS (static linking with sequential version of the library in LP64 mode). We will investigate reasons and let you know about the update. Thanks for letting us know about this issue.

Meanwhile, can you please clarify if this error situation blocks your tasks or it can be work-arounded?

Thanks,

Andrey

 

0 Kudos
lillian
Beginner
765 Views

For me this is a big problem.  I have not yet found a workaround.  I think there must be an ok workaround that I could use in the short term.  But in the long term I need a better method.

The idea: I have a smaller cluster (with old os and mkl) available on which I could load the files.  Then if there is some way to save the stream to a file without using vslSaveStream(). I could save the stream to a file and reopen on the new system.  However, Im not sure how to do this.  Any recommendations.  

0 Kudos
Todd_R_Intel
Employee
765 Views

For others that see this problem, there is a workaround (provided already to lillian). In an future update, MKL should recognize and read either format.

0 Kudos
Todd_R_Intel
Employee
765 Views

This problem was fixed in Intel MKL 11.0 Update 3 (a part of Intel Composer XE 2013 Update 3).

0 Kudos
Reply