Skip to content

Build option AF_COMPUTE_LIBRARY to select CPU backend dependencies #3138

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

Merged
merged 2 commits into from
Jun 23, 2021

Conversation

9prady9
Copy link
Member

@9prady9 9prady9 commented May 20, 2021

Description

Build option AF_COMPUTE_LIBRARY to select CPU compute dependency

This new cmake option can take the following values

  • Intel-MKL - Intel MKL is used for blas, fft and sparse related routines
  • FFTW/LAPACK/BLAS - OpenBLAS for blas routines; fftw for fft routines; netlib compatible lapack library for lapack routines
  • Intel-MKL is the default value of this option.

We intend to add AMD-AOCL as the third option.

To preserve the behavior provided by the old flags, USE_CPU_MKL & USE_OPENCL_MKL, if provided(command-line/cmake-gui) will take precedence even if AF_COMPUTE_LIBRARY has FFTW/LAPACK/BLAS.

Changes to Users

None

Checklist

  • Rebased on latest master
  • Code compiles
  • Tests pass
  • [ ] Functions added to unified API
  • [ ] Functions documented

@9prady9 9prady9 added this to the 3.8.1 milestone May 20, 2021
@9prady9 9prady9 requested a review from umar456 May 20, 2021 16:31
@9prady9
Copy link
Member Author

9prady9 commented May 20, 2021

I don't expect most of builds to pass since MKL cmake options changed. Addressed this now

@9prady9 9prady9 force-pushed the cleanup_linalg_deps_selection branch 7 times, most recently from 0d7965f to 0c59d06 Compare May 24, 2021 09:08
@9prady9
Copy link
Member Author

9prady9 commented May 24, 2021

I will investigate the following new failures (m6000) from this PR. Interesting though, why cuda stuff failed when change has nothing to do with that backend.

The following tests FAILED:
	 48 - test_homography_cuda (Failed)
	 80 - test_orb_cuda (Failed)
	101 - test_gloh_cuda (Failed)
	102 - test_sift_cuda (Failed)

@9prady9 9prady9 force-pushed the cleanup_linalg_deps_selection branch from 1b9fd32 to 126e878 Compare June 21, 2021 09:45
9prady9 added 2 commits June 22, 2021 20:00
This new cmake option can take the following values
- `Intel-MKL` - Intel MKL is used for blas, fft and sparse related routines
- `FFTW/LAPACK/BLAS` - OpenBLAS for blas routines; fftw for fft routines; netlib compatible
  lapack library for lapack routines
- `Intel-MKL` is the default value of this option.

We intend to add AMD-AOCL as the third option.

To preserve the behavior provided by the old flags, USE_CPU_MKL &
USE_OPENCL_MKL, if provided(command-line/cmake-gui) will take
precedence even if `AF_COMPUTE_LIBRARY` has `FFTW/LAPACK/BLAS`.

Add back vcpkg caching mechanism. The work around we tried so far has
increased the build time too much on windows github action

Putting vcpkg under arrayfire source root or build folder is making
vcpkg think it is in manifest mode and any `vcpkg install` commands are
not doing expected standalone dependency installations.

Cannot use af_deprecate calls of USE_*_MKL flags, it cannot handle different type cmake variables
@9prady9 9prady9 force-pushed the cleanup_linalg_deps_selection branch from 126e878 to fde0efb Compare June 22, 2021 14:38
@9prady9 9prady9 merged commit 80d8ef6 into arrayfire:master Jun 23, 2021
@9prady9 9prady9 deleted the cleanup_linalg_deps_selection branch June 23, 2021 03:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants