-
Notifications
You must be signed in to change notification settings - Fork 82
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
Initial ppc64le support #162
Conversation
Welcome @mgiessing! It looks like this is your first PR to zilliztech/knowhere 🎉 |
@mgiessing 🔍 Important: PR Classification Needed! For efficient project management and a seamless review process, it's essential to classify your PR correctly. Here's how:
For any PR outside the kind/improvement category, ensure you link to the associated issue using the format: “issue: #”. Thanks for your efforts and contribution to the community!. |
/lgtm |
@mgiessing could you please squash your commits? It is a preferred way for knowledge to have a single commit for a PR. Thanks |
@alexanderguzhva Just squashed the commits - thanks! |
/lgtm |
@mgiessing Hey, would you please be able to fix the formatting (check Pre-commit stage)? Thanks! |
@alexanderguzhva I'm not sure what's still wrong |
Hi @mgiessing Instead of explicitly add support for ppc64le, is it possible to make this changes under a default fall back solution? Since there is no ppc64le specific change here. Also can you help take a look at the pre commit error in the github action and fix the format? Thanks |
@liliu-z That would be one option, however on the other hand I'm also thinking about adding vector intrinsic code for the distance calculation (i.e. adding |
Sure, Thanks for this.
Thanks |
/kind enhancement |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: liliu-z, mgiessing The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
this solves: #161 |
@liliu-z this is very weird. If I follow the Contributing guidelines and install the pre-commit hook locally I get a FAILED because of the two mentioned files: $ git push
check for added large files..............................................Passed
check for merge conflicts................................................Passed
fix end of files.........................................................Passed
trim trailing whitespace.................................................Passed
clang-format.............................................................Failed
- hook id: clang-format
- exit code: 1
benchmark/benchmark_base.h
====================
--- original
+++ formatted
@@ -188,10 +188,10 @@
void
free_all() {
if (xb_ != nullptr) {
- delete[](float*) xb_;
+ delete[] (float*)xb_;
}
if (xq_ != nullptr) {
- delete[](float*) xq_;
+ delete[] (float*)xq_;
}
if (gt_radius_ != nullptr) {
delete[] gt_radius_;
include/knowhere/dataset.h
====================
--- original
+++ formatted
@@ -36,25 +36,25 @@
{
auto ptr = std::get_if<0>(&x.second);
if (ptr != nullptr) {
- delete[] * ptr;
+ delete[] *ptr;
}
}
{
auto ptr = std::get_if<1>(&x.second);
if (ptr != nullptr) {
- delete[] * ptr;
+ delete[] *ptr;
}
}
{
auto ptr = std::get_if<2>(&x.second);
if (ptr != nullptr) {
- delete[] * ptr;
+ delete[] *ptr;
}
}
{
auto ptr = std::get_if<3>(&x.second);
if (ptr != nullptr) {
- delete[](char*)(*ptr);
+ delete[] (char*)(*ptr);
}
}
}
error: failed to push some refs to 'https://github.com/mgiessing/knowhere' I'm wondering you don't get this, FYI I use clang-format 17.0.6: $ clang-format --version
Homebrew clang-format version 17.0.6 Nevertheless I try to uninstall the hook and push again |
Signed-off-by: mgiessing <[email protected]> Added ppc64le hook (without intrinsics) Signed-off-by: mgiessing <[email protected]> pre-commit fix Signed-off-by: mgiessing <[email protected]> Revert "Initial ppc64le support" This reverts commit 3e77eee. Fixes for ppc64le Signed-off-by: mgiessing <[email protected]>
/lgtm |
@mgiessing Do you have any update on the SIMD optimizations? Thanks. |
I briefly had a look into manually creating VSX code however the auto-vectorizer seems to do a pretty good job and there was no real benefit when I compared handwritten VSX code (which might not be perfect of course) vs. what the compiler generated. |
This PR aims to support the build process of knowhere for ppc64le architecture: #161