oneDAL
oneDAL copied to clipboard
Add cosine distance algorithm
This PR implements the cosine distance algorithm for both the DAAL and oneDAL frameworks, computing pairwise cosine distances between feature vectors. The DAAL implementation includes block-based, batch processing containers, and complete user documentation. The oneDAL implementation adds GPU offload with SYCL/DPC++ support through compute kernels for both CPU and GPU backends, comprehensive test cases for both CPU and GPU, bazel build integration, and updated documentation with mathematical specifications and API references.
PR completeness and readability
- [ ] I have reviewed my changes thoroughly before submitting this pull request.
- [ ] I have commented my code, particularly in hard-to-understand areas.
- [ ] I have updated the documentation to reflect the changes or created a separate PR with update and provided its number in the description, if necessary.
- [ ] Git commit message contains an appropriate signed-off-by string (see CONTRIBUTING.md for details).
- [ ] I have added a respective label(s) to PR if I have a permission for that.
- [ ] I have resolved any merge conflicts that might occur with the base branch.
Testing
- [ ] I have run it locally and tested the changes extensively.
- [ ] All CI jobs are green or I have provided justification why they aren't.
- [ ] I have extended testing suite if new functionality was introduced in this PR.