-
Notifications
You must be signed in to change notification settings - Fork 213
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
feature: adding svd(GPU) support + removing code duplications in Cov/PcaCov #2618
feature: adding svd(GPU) support + removing code duplications in Cov/PcaCov #2618
Conversation
/intelci: run |
/intelci: run |
…ons in online part
/intelci: run |
/intelci: run |
cpp/oneapi/dal/algo/covariance/backend/gpu/compute_kernel_dense_impl_dpc.cpp
Outdated
Show resolved
Hide resolved
cpp/oneapi/dal/algo/covariance/backend/gpu/finalize_compute_kernel_dense_dpc.cpp
Outdated
Show resolved
Hide resolved
cpp/oneapi/dal/algo/covariance/backend/gpu/finalize_compute_kernel_dense_dpc.cpp
Outdated
Show resolved
Hide resolved
cpp/oneapi/dal/algo/pca/backend/gpu/finalize_train_kernel_cov_dpc.cpp
Outdated
Show resolved
Hide resolved
cpp/oneapi/dal/algo/pca/backend/gpu/train_kernel_svd_impl_dpc.cpp
Outdated
Show resolved
Hide resolved
cpp/oneapi/dal/algo/pca/backend/gpu/train_kernel_svd_impl_dpc.cpp
Outdated
Show resolved
Hide resolved
cpp/oneapi/dal/algo/pca/backend/gpu/train_kernel_svd_impl_dpc.cpp
Outdated
Show resolved
Hide resolved
cpp/oneapi/dal/algo/pca/backend/gpu/train_kernel_svd_impl_dpc.cpp
Outdated
Show resolved
Hide resolved
/intelci: run |
/intelci: run |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code looks good in general.
My biggest concern is that the added PCA SVD method for GPU does different computations than the PCA SVD method on CPU. Is this the correct behavior?
Because the reason of having PCA SVD is because it is more numerically stable due to using the original data in the decomposition. And when we first compute covariance/correlation it is, yes, faster in case of tall and skinny data. But the conditional number of the matrix grows in this case quadratically and the numerical errors too.
Another concern is that refactoring changes are incorporated into this PR. For the future activities, It would be better top have them as a separate PR.
/intelci: run |
/intelci: run |
/intelci: run |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for taking effort to align this SYCL implementation with C++ implementation for CPU.
The code looks good, but there are several things that need to be addressed. Please see the comments below.
/intelci: run |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
… in Cov/PcaCov (oneapi-src#2618)" This reverts commit 1373db4.
It's a copy of #2520 with new changes