Hi , guys , I’m using oneapi mkl blas with dpcpp ，I met some problems , when i use eigen to compute gemm(col-major),i get right result ,but when i use mkl with dpcpp(col-major) ,i get wrong result ,i test the data translation ,this part is no problem,so i think the only reason is gemm function.I really hope somebody could help me fix it , I will appreciate it a lot.
the code is below:
this is eigen code which get right result.
this is mkl code , its input value is as same as eigen code,and please ignore the if statement, I use it to make sure pointer only init once when in loop , and i think it is no problem.
forgive me , I don’t get computer here ,so the picture is screenshot of ssh ,
I was plagued by this for a weeks , and I really want to use mkl , If you could help me , I will appreciate it a lot.
I want to update this question , mkl gemm with dpcpp can get right result when device is selected as cpu,however when device is set intel Xe hpg gpu ,the result is wrong .
the infomation of system:
I am sure that my code is right (because when I change gpu_selector to cpu_selector , the result is right), the problem is gemm or intel gpu , I still want to know how to fix it ,thanks!
Thanks for reaching out to us.
Could you please try running the sample code gemm_usm.cpp from MKL examples located under /opt/intel/oneapi/mkl/latest/examples/dpcpp/blas/source and see if you still get incorrect results on your GPU?
If possible please attach your test code here so that we can try reproducing the issue from our end as well.
Could you please let us know if working with oneMKL examples with your data also gives incorrect results?
Could you please try adding the sample reproducer here in the forum so that we can do a quick check and proceed further in this case?
As we haven't heard back from you, we are closing this thread. Please post a new question if you need any additional assistance from Intel as this thread will no longer be monitored.