numba / llvmlite

A lightweight LLVM python binding for writing JIT compilers
https://llvmlite.pydata.org/
BSD 2-Clause "Simplified" License
1.94k stars 321 forks source link

Add support for compiler-rt inclusion #909

Closed testhound closed 4 months ago

testhound commented 1 year ago

This pull request adds support for including compiler-rt as a artifact. It is meant to address this outstanding issue: https://github.com/numba/llvmlite/issues/834

sklam commented 1 year ago

Developer Note:

This PR depends on merging LLVM14 changes.

sklam commented 1 year ago

From OOB discussion, the OSX build failure is depending on https://github.com/conda/conda-build/issues/4787 to successfully build compiler-rt

testhound commented 1 year ago

@sklam and @gmarkall ready for review after adding support for llvm 14. Note that there are several places where I was forced to iinstall llvmdev from my channel because it includes compiler-rt.

For example: "call conda install -y -q --override-channels -c mcollison llvmdev="14.*"

Note that MacOS is still failing due to: https://github.com/conda/conda-build/issues/4787

testhound commented 1 year ago

@sklam and @gmarkall: all buildfarm tests now pass, ready for review.

testhound commented 1 year ago

@sklam and @gmarkall I had to modify conda build locally as described by the last comment here:

https://github.com/conda/conda-build/pull/4808

testhound commented 1 year ago

@sklam and @gmarkall I resolved the merge conflicts and remove support for LLVM 11.

sklam commented 1 year ago

@esc, please consider this and related PR for inclusion of the upcoming llvmlite release.

esc commented 1 year ago

@esc, please consider this and related PR for inclusion of the upcoming llvmlite release.

Thank you, added to the milestone.

oliverhu commented 1 year ago

@testhound I followed this PR, and it seems libclang_rt is not statically linked into llvmlite.so, not sure if that is intended or not. btw, shall we add tests to validate this works in both native bfloat architecture & non-native bfloat architecture?

gmarkall commented 1 year ago

@oliverhu This PR is not being worked on by @testhound anymore, and needs someone to pick it up and continue it - eventually someone working on Numba / llvmlite may get round to it, but it could take some time - do you have any interest in attempting to adopt this PR and working on it? I'm happy whether you are or aren't - just let me know if you are and we can figure out some steps to move this forward.

oliverhu commented 1 year ago

@gmarkall thanks! happy to help here...the only concern is I'm new to this project (got a crash from https://github.com/tinygrad/tinygrad/issues/1367 so I hunted all the way down here). I might not have the full context besides the issue I was impacted. Is there a channel (slack/discord) to discuss questions? back-n-forth in GitHub is not the most effective way!

gmarkall commented 1 year ago

@oliverhu There's the Numba Gitter (https://matrix.to/#/#numba_numba:gitter.im) - I'm usually around there during UK office hours (it's 11pm here but I can discuss this interactively tomorrow).

oliverhu commented 1 year ago

Sounds good, will reach out on gitter!

gmarkall commented 4 months ago

Superseded by #986 / #1036, etc.