Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

oneMKL tests failing due to missing symbols in oneapi support library #384

Closed
kballeda opened this issue Jan 25, 2024 · 7 comments
Closed

Comments

@kballeda
Copy link
Contributor

After recent updates, default tests under test/onemkl.jl are failing due to missing symbols in liboneapi_support.so

  1. iamax
  2. iamin
  3. rot
  4. scal - onemklCSscal

Sample Log:
/oneAPI.jl/test/onemkl.jl:69 Test threw exception Expression: BLAS.iamax(a) == oneMKL.iamax(ca) could not load symbol "onemklSiamax":

@amontoison
Copy link
Member

@kballeda
Did you regenerated liboneapi_support.so with the script in the deps folder?
It's working with CI.

@kballeda
Copy link
Contributor Author

kballeda commented Feb 5, 2024

@amontoison Yes, we want default flow should be stable

@kballeda
Copy link
Contributor Author

More info on this:

Failed primitives are -

onemklCiamin
onemklCiamax
onemklCSscal
onemklCSrot
onemklSiamin
onemklSiamax

When I look into the default liboneapi_support.so library from artifactory location I find that symbols are missing for iamax, iamin. @maleadt Please take a look at this and we may need to regenerate latest liboneapi_support.so and fix this issue.

 nm  ~/.julia/artifacts/5eb72274d03debeeb85d66cfc81455a55135de46/lib/liboneapi_support.so | grep iamax
                 U _ZN6oneapi3mkl4blas12column_major5iamaxERN4sycl3_V15queueElPKdlPlRKSt6vectorINS4_5eventESaISB_EE
                 U _ZN6oneapi3mkl4blas12column_major5iamaxERN4sycl3_V15queueElPKflPlRKSt6vectorINS4_5eventESaISB_EE
                 U _ZN6oneapi3mkl4blas12column_major5iamaxERN4sycl3_V15queueElPKSt7complexIdElPlRKSt6vectorINS4_5eventESaISD_EE
                 U _ZN6oneapi3mkl4blas12column_major5iamaxERN4sycl3_V15queueElPKSt7complexIfElPlRKSt6vectorINS4_5eventESaISD_EE
                 
                  nm  ~/.julia/artifacts/5eb72274d03debeeb85d66cfc81455a55135de46/lib/liboneapi_support.so | grep iamin
                 U _ZN6oneapi3mkl4blas12column_major5iaminERN4sycl3_V15queueElPKdlPlRKSt6vectorINS4_5eventESaISB_EE
                 U _ZN6oneapi3mkl4blas12column_major5iaminERN4sycl3_V15queueElPKflPlRKSt6vectorINS4_5eventESaISB_EE
                 U _ZN6oneapi3mkl4blas12column_major5iaminERN4sycl3_V15queueElPKSt7complexIdElPlRKSt6vectorINS4_5eventESaISD_EE
                 U _ZN6oneapi3mkl4blas12column_major5iaminERN4sycl3_V15queueElPKSt7complexIfElPlRKSt6vectorINS4_5eventESaISD_EE

Failure of scal (onemklCSscal), rot (onemklCSrot) cases is due to symbol naming mismatch, default artificatory consists of onemklCsrot and onemklCsscal whereas wrapper.jl reffers to onemklCSrot and onemklCSscal.

00000000000154a0 T onemklCrot
00000000000157e0 T onemklCsrot
0000000000015300 T onemklDrot
0000000000015160 T onemklSrot
0000000000015980 T onemklZdrot
0000000000015640 T onemklZrot
                 U _ZN6oneapi3mkl4blas12column_major3rotERN4sycl3_V15queueElPdlS7_lddRKSt6vectorINS4_5eventESaIS9_EE
                 U _ZN6oneapi3mkl4blas12column_major3rotERN4sycl3_V15queueElPflS7_lffRKSt6vectorINS4_5eventESaIS9_EE
                 U _ZN6oneapi3mkl4blas12column_major3rotERN4sycl3_V15queueElPSt7complexIdElS9_lddRKSt6vectorINS4_5eventESaISB_EE
                 U _ZN6oneapi3mkl4blas12column_major3rotERN4sycl3_V15queueElPSt7complexIdElS9_ldS8_RKSt6vectorINS4_5eventESaISB_EE
                 U _ZN6oneapi3mkl4blas12column_major3rotERN4sycl3_V15queueElPSt7complexIfElS9_lffRKSt6vectorINS4_5eventESaISB_EE
                 U _ZN6oneapi3mkl4blas12column_major3rotERN4sycl3_V15queueElPSt7complexIfElS9_lfS8_RKSt6vectorINS4_5eventESaISB_EE
0000000000015fe0 T onemklCscal
0000000000016170 T onemklCsscal
0000000000015b20 T onemklDscal
0000000000015cb0 T onemklHscal
0000000000015e50 T onemklSscal
0000000000016490 T onemklZdscal
0000000000016300 T onemklZscal
                 U _ZN6oneapi3mkl4blas12column_major4scalERN4sycl3_V15queueEldPdlRKSt6vectorINS4_5eventESaIS9_EE
                 U _ZN6oneapi3mkl4blas12column_major4scalERN4sycl3_V15queueEldPSt7complexIdElRKSt6vectorINS4_5eventESaISB_EE
                 U _ZN6oneapi3mkl4blas12column_major4scalERN4sycl3_V15queueElfPflRKSt6vectorINS4_5eventESaIS9_EE
                 U _ZN6oneapi3mkl4blas12column_major4scalERN4sycl3_V15queueElfPSt7complexIfElRKSt6vectorINS4_5eventESaISB_EE
                 U _ZN6oneapi3mkl4blas12column_major4scalERN4sycl3_V15queueElNS4_6detail9half_impl4halfEPS9_lRKSt6vectorINS4_5eventESaISC_EE
                 U _ZN6oneapi3mkl4blas12column_major4scalERN4sycl3_V15queueElSt7complexIdEPS8_lRKSt6vectorINS4_5eventESaISB_EE
                 U _ZN6oneapi3mkl4blas12column_major4scalERN4sycl3_V15queueElSt7complexIfEPS8_lRKSt6vectorINS4_5eventESaISB_EE

@maleadt
Copy link
Member

maleadt commented Feb 26, 2024

This is expected, only released versions of oneAPI.jl are guaranteed to be able to use the artifact. For development, regenerate the library as @amontoison mentioned.

@maleadt maleadt closed this as not planned Won't fix, can't repro, duplicate, stale Feb 26, 2024
@kballeda
Copy link
Contributor Author

@maleadt Regeneration for development is fine but for new users this may still show up as error if they pick master, please clarify? Thank you!

@maleadt
Copy link
Member

maleadt commented Feb 26, 2024

for new users this may still show up as error if they pick master,

Users shouldn't use the master branch.

I've documented the development requirements in cd6f113. I'll also look into releasing a new version of the support library.

@kballeda
Copy link
Contributor Author

for new users this may still show up as error if they pick master,

Users shouldn't use the master branch.

I've documented the development requirements in cd6f113. I'll also look into releasing a new version of the support library.

Thank you very much !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants