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

Errors for funtion ssyrk

fyten1985
Beginner
879 Views
I used the funtion ssyrk with the array float [66950*5856].The result matrixis wrong from row 1821 to end.The error like that: the cycle is 4:
row 1821 is same as the right result row 1822.
row 1822 is same as the right result row 1821.
row 1823 and 1824 are right.
When I used the funtion dsyrk with the same array double [66950*5856].The result is right.
Would you tell me what wrong with it and what can i do?
0 Kudos
12 Replies
Gennady_F_Intel
Moderator
879 Views
Quoting - fyten1985
I used the funtion ssyrk with the array float [66950*5856].The result matrixis wrong from row 1821 to end.The error like that: the cycle is 4:
row 1821 is same as the right result row 1822.
row 1822 is same as the right result row 1821.
row 1823 and 1824 are right.
When I used the funtion dsyrk with the same array double [66950*5856].The result is right.
Would you tell me what wrong with it and what can i do?

fyten, it's pretty difficult to say ..
is it the latest 10.2 updatate3 version?
It seems to me this is an unknown problem. Can you get the test case for checking ...
--Gennady
0 Kudos
fyten1985
Beginner
879 Views

fyten, it's pretty difficult to say ..
is it the latest 10.2 updatate3 version?
It seems to me this is an unknown problem. Can you get the test case for checking ...
--Gennady

NO,I used the 10.1 version.Have the 10.2 updatate3 version sloved the problem?
0 Kudos
Gennady_F_Intel
Moderator
879 Views
Quoting - fyten1985

fyten, it's pretty difficult to say ..
is it the latest 10.2 updatate3 version?
It seems to me this is an unknown problem. Can you get the test case for checking ...
--Gennady

NO,I used the 10.1 version.Have the 10.2 updatate3 version sloved the problem?
i don't know, as i said above, this is an unknown problem for this routine... so that's why i asked the testcase to check the current status..
0 Kudos
fyten1985
Beginner
879 Views
i don't know, as i said above, this is an unknown problem for this routine... so that's why i asked the testcase to check the current status..


I have test the funtion with small data as the matrix [2000*100],the result was correct.But with the large data as the matrix [66950*5856].the result was incorrect.All of the two data are random by Matlab.The Matrix [66950*5856] is too large so I can notattached it .So I just attached my test code.
0 Kudos
Gennady_F_Intel
Moderator
879 Views
Quoting - fyten1985
i don't know, as i said above, this is an unknown problem for this routine... so that's why i asked the testcase to check the current status..


I have test the funtion with small data as the matrix [2000*100],the result was correct.But with the large data as the matrix [66950*5856].the result was incorrect.All of the two data are random by Matlab.The Matrix [66950*5856] is too large so I can notattached it .So I just attached my test code.

Can you elaborate more info about the environment you ran the application:
- what is the CPU type?
- OS?
- Is this ia32 or Intel64 architecture?
- the linking line.
--Gennady

0 Kudos
bigknife
Beginner
879 Views
I have got the same results as fyten's.
My computer is "Dell PowerEdge 2900III 5U" withXeon 5420 * 2 and 48G Memory.
And the OS is MS Windows Server 2003 R2 Enterprise x64 Edition sp2.
The C++ compilers are VC++ 2008 and Intel C++ 11.0.061, and the solution platform is x64. At last, the results are equal.
I am very sad about it.
Who can show me how resolve it?
Thanks a lot!

bigknife


Can you elaborate more info about the environment you ran the application:
- what is the CPU type?
- OS?
- Is this ia32 or Intel64 architecture?
- the linking line.
--Gennady


0 Kudos
fyten1985
Beginner
879 Views

Can you elaborate more info about the environment you ran the application:
- what is the CPU type?
- OS?
- Is this ia32 or Intel64 architecture?
- the linking line.
--Gennady

The cpu type is INTEL Xeon 5420 * 2.
The os is Windows Server 2003 R2 Enterprise x64 Edition sp2.
This is INTEL@64 architecture.
It linked libiomp5md.lib mkl_em64t.lib.
0 Kudos
Gennady_F_Intel
Moderator
879 Views
Quoting - fyten1985

Can you elaborate more info about the environment you ran the application:
- what is the CPU type?
- OS?
- Is this ia32 or Intel64 architecture?
- the linking line.
--Gennady

The cpu type is INTEL Xeon 5420 * 2.
The os is Windows Server 2003 R2 Enterprise x64 Edition sp2.
This is INTEL@64 architecture.
It linked libiomp5md.lib mkl_em64t.lib.
fyten,
"It linked libiomp5md.lib mkl_em64t.lib."
this is not completely right way to link mkl's libraries..
please look at the MKL Linker Adviser to see what libraries are recommended for linking ....
Let me know if any updates..
--Gennady


0 Kudos
Gennady_F_Intel
Moderator
879 Views
Quoting - bigknife
I have got the same results as fyten's.
My computer is "Dell PowerEdge 2900III 5U" withXeon 5420 * 2 and 48G Memory.
And the OS is MS Windows Server 2003 R2 Enterprise x64 Edition sp2.
The C++ compilers are VC++ 2008 and Intel C++ 11.0.061, and the solution platform is x64. At last, the results are equal.
I am very sad about it.
Who can show me how resolve it?
Thanks a lot!

bigknife


Can you elaborate more info about the environment you ran the application:
- what is the CPU type?
- OS?
- Is this ia32 or Intel64 architecture?
- the linking line.
--Gennady



Peter,
thanks for letting us know about the problem, but the same question for you ...
How we can reproduce this problem?
Can you give us the testcase with the smallest dataset as you can?
if you get us these data - I will check the problem with the latest MKL v.10.2 Update 3 ( fyi - you use MKL v.10.1)
You can choose the Private thread to provide these data if this is private data..
--Gennady

0 Kudos
fyten1985
Beginner
879 Views
fyten,
"It linked libiomp5md.lib mkl_em64t.lib."
this is not completely right way to link mkl's libraries..
please look at the MKL Linker Adviser to see what libraries are recommended for linking ....
Let me know if any updates..
--Gennady



OK,I changed my linker as the adviser.Now It linked mkl_solver_ilp64.lib mkl_intel_ilp64.lib mkl_intel_thread.lib mkl_core.lib.
But the problem still exist.
I had done many tests to found the smallest case.The case that i can found was a matrix [35000*500].I attached it which named floatdata.dat.
Because the result is too large,I can not updata all.I cut the result from Row 10000 to 10499 and save it in the CorrectResult.dat which have attached.
I also updata the NewMKLTest.cpp.
I got a image while I compare the MKLResult with the CorrectResult.(from Row 10000 to 10999)
0 Kudos
Gennady_F_Intel
Moderator
879 Views
till we will check these data with the latest version of mkl (10.2 Update3),
may I ask you to check the problem without threading libs?
please check with sequential linking mode:
mkl_solver_ilp64_sequential.lib mkl_intel_ilp64.lib mkl_sequential.lib mkl_core.lib
0 Kudos
fyten1985
Beginner
879 Views
till we will check these data with the latest version of mkl (10.2 Update3),
may I ask you to check the problem without threading libs?
please check with sequential linking mode:
mkl_solver_ilp64_sequential.lib mkl_intel_ilp64.lib mkl_sequential.lib mkl_core.lib


e...I wait you result if you had checked these data.Could you show it for me?
0 Kudos
Reply