pisa-engine / pisa

PISA: Performant Indexes and Search for Academia
https://pisa-engine.github.io/pisa/book
Apache License 2.0
941 stars 65 forks source link

Feature/fix test #585

Open oxnz opened 4 months ago

oxnz commented 4 months ago

Fixes # .

Changes proposed in this pull request:

-

-

elshize commented 4 months ago

Hi, could you clarify in the PR description what this change is addressing?

oxnz commented 4 months ago

Hi, could you clarify in the PR description what this change is addressing?

sry for the disturb, I think I have opened the pull request too soon before it's ready for review.

to be short, I want to make PISA runnable on other platforms. and this might take some time. the PR is at your disposal. if this objective align with you, then I'll update the PR soon.

currently I'm having trouble in building this repo on my Laptop (Mac OS, Arm64 CPU). a lot of errors pops up.

just list some majors ones:

  1. intrinsics header missing (x86 vs arm64) (I've commented out some of the unsupported codecs, got compiled finally with a lot of functionality missing)
  2. CXX standard problems, I have to change boost::function to std::function to get this work, seems boost is a bit out of date or sth.
  3. some unit tests failure. e.g.: quantize(max) == (1<<bits) - 1 stuff, seams different behavior for x86 cpu v.s. arm cpu, pending further investigation
elshize commented 4 months ago

@oxnz sounds great, we're stretched a bit thin, so these type of things often are left unresolved, so this kind of effort is always appreciated.

Re: boost, I am aware that the version we bring from a submodule is old, and that's because the repo we've been using is not updated. Try installing boost system-wide and configuring cmake with -DPISA_SYSTEM_BOOST=ON, and recompiling.

Re: bit stuff, there might be some places that assume x86 architecture in certain places, mostly legacy code. If that's the case, it may take some effort to do that. If so, I would appreciate if you could maybe create a separate PR for each problem instead of a general "fixes" PR. E.g., submit missing header issue separately from x86 bit stuff. I'd like to keep it manageable but also I'm trying to be more mindful of keeping git history cleaner.