Skip to content
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

Develop guidance for support for older linux-x86 processor variants #2580

Closed
johnkerl opened this issue May 17, 2024 · 5 comments · Fixed by #2643
Closed

Develop guidance for support for older linux-x86 processor variants #2580

johnkerl opened this issue May 17, 2024 · 5 comments · Fixed by #2643
Labels
documentation Improvements or additions to documentation needs-discussion

Comments

@johnkerl
Copy link
Member

johnkerl commented May 17, 2024

From time to time we have questions like this:
chanzuckerberg/cellxgene-census#1121

Issues involved:

  • TileDB Core, TileDB-Py, TileDB-R, and TileDB-SOMA (Python and R) have precompiled binaries for OS the major architecture:
  • Issue here is support for processor variants within linux-x86
    • Symptom is Illegal instruction (core dumped) (see here for example)
    • The binaries we have pre-compiled for include certain instruction sets
    • Sometimes users run in environments not containing support for some newer instructions

Work to do:

  • We need to decide, and document, which processor variants we support -- and "support" means:
    • Necessarily people will need to build from source -- since our precompiled binaries aren't right for older variants
    • People will need clear build-from-source instructions
  • We need to decide, and document, which processor variants we don't support -- and that means:
    • Listing out processor variants for which we don't have a suggested recipe, and for which we don't intend to develop one

[sc-47640]

@johnkerl johnkerl changed the title Develop guidance for older-architecture support Develop guidance for support for older linux-x86 processor variants May 17, 2024
@johnkerl johnkerl added documentation Improvements or additions to documentation needs-discussion labels May 17, 2024
@eddelbuettel
Copy link
Contributor

One small addition: The TileDB-R package has long used dual binary artifacts for x86_64 Linux provided by TileDB Embedded at each release. These artifacts differentiate between default and 'no AVX2' (same as the issue that spawned this) so on builds from R where artifacts are pulled in, the non-AVX2 machines are accomodated.

@rcurrie
Copy link

rcurrie commented May 20, 2024

I was able to build and run from source on an old AMD Opteron(tm) Processor 6380 - specifically to use cellxgene-census. Order is install cellxgene-census and then build TileDB from source.

@eddelbuettel
Copy link
Contributor

@rcurrie Awesome. If it is still fresh in your mind please do feel free to drop us a few bullet points about possible plusses or minusses of our docs with respect to building from source.

@rcurrie
Copy link

rcurrie commented May 23, 2024

@eddelbuettel Docs work as advertised! Maybe add something like this (which I've added to the repo I'm working on using cellxgene-census):

TileDB-SOMA python wheels assume AVX2 generating an illegal hardware instruction (core dumped) on CPUs without AVX2 (cat /proc/cpuinfo | grep avx2 } head -1). To run on non-AVX2 cpus, build from source and install into your existing python environment or active virtualenv via:

git clone https://github.com/single-cell-data/TileDB-SOMA.git
pip install -v -e TileDB-SOMA/apis/python

@johnkerl
Copy link
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation needs-discussion
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants