Skip to content

Figure out better way for dealing with CPU arches #23

@h-vetinari

Description

@h-vetinari

While debugging #22, I found out that the upstream build-refactor that I tried to follow in #17 changed things so that upstream always compiles for both AVX2 & default profiles, and then switches at runtime using:
https://github.com/facebookresearch/faiss/blob/v1.6.5/faiss/python/loader.py#L27-L39

Of course we could mimick that, but given the infrastructure added in conda/conda#9930 by @isuruf, I'm thinking we could do better. Not sure if this is ready for primetime yet -- as in, does CF infra support this already?

I see the following todos (restricted to this feedstock):

  • Figure out if we want to build for AVX2, resp. other profiles
  • If yes, decide trade-off between packaging size impact for packaging several (probably negligible) and multiplication of CI jobs
  • Patch the upstream loader depending on outcome
    • If we keep the upstream approach, add windows detection (how?) and upstream the patch

CC @beckermr @mbargull @jakirkham

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions