Skip to content
This repository has been archived by the owner on Aug 16, 2023. It is now read-only.

Discussion: do we need to keep support SSE42 as minimal requirements for running knowhere #800

Open
matrixji opened this issue Apr 3, 2023 · 1 comment

Comments

@matrixji
Copy link
Contributor

matrixji commented Apr 3, 2023

I'm integrating embd-milvus with 2.3 branch for the macos, it failed while run test with pymilvus, after a lit bit of investigation, the root cause is Knowhere compiled with avx2+ support: see here and macOS machine on GitHub action is a vm only support sse42. So it crashed with SIGILL, more logs could be fetched here.

SIGILL: illegal instruction
PC=0x10758d966 m=10 sigcode=1
signal arrived during cgo execution
instruction bytes: 0xc4 0xe2 0xf1 0xb9 0x5 0x29 0x83 0x4 0x0 0x48 0x83 0xc4 0x10 0x5d 0xc3 0x66

goroutine 993 [syscall]:
_ZN5faiss12getmillisecsEv
	/Users/runner/.milvus.io/milvus-server/2.3.0-beta.1/bin/libknowhere.dylib:0 pc=0x10758d967
_ZN5faiss10Clustering13train_encodedExPKhPKNS_5IndexERS3_PKf

If we still need to support Milvus run with sse42 as minimal instruction sets, this is should be fixed. Otherwise, If we mark avx2 as minimal supported instructions, I'll move those related verify works offline.

@matrixji matrixji changed the title Discussion: do we need to keep support SSE42 and minimal requirements for running knowhere Discussion: do we need to keep support SSE42 as minimal requirements for running knowhere Apr 3, 2023
@xiaofan-luan
Copy link
Contributor

yes I think so, we should still go with SSE support.
@Presburger could you pls help on fixing it

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

No branches or pull requests

2 participants