Skip to content

LLVM14 - #8535

Merged
sklam merged 10 commits into
numba:mainfrom
apmasell:llvm14
Mar 13, 2023
Merged

LLVM14#8535
sklam merged 10 commits into
numba:mainfrom
apmasell:llvm14

Conversation

@apmasell

Copy link
Copy Markdown
Contributor

No description provided.

@gmarkall

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines successfully started running 1 pipeline(s).

@apmasell

apmasell commented Dec 5, 2022

Copy link
Copy Markdown
Contributor Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Commenter does not have sufficient privileges for PR 8535 in repo numba/numba

@apmasell
apmasell requested a review from gmarkall as a code owner January 31, 2023 21:38
@sklam

sklam commented Feb 3, 2023

Copy link
Copy Markdown
Member

#8738 documents why we cannot use llvm14 on linux-aarch64

- importlib_metadata # [py<39]
# On channel https://anaconda.org/numba/
- llvmlite >=0.40.0dev0,<0.40
- llvmlite >=0.40.0dev0llvm14,<0.40

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to split build of llvmlite on aarch64 to use llvm11? Or, can we just say we stay on llvmlite 0.39? This is something we should decide @numba/fpoc

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

xref #8756

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need a revert on this

@sklam sklam left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one suggestion on adding a test for fanout_raise refpruning. Beside needing decision on how to move forward for llvm14/11 split builds. Everything else looks good.

Comment thread numba/tests/test_refop_pruning.py
@sklam

sklam commented Feb 8, 2023 •

Copy link
Copy Markdown
Member

I tested this patch with LLVM11 (with _ensure_llvm disabled) on x86 as a guess-estimate of problems on linux-aarch64. Ignoring failures that are testing llvmlite version (numba.tests.test_llvm_version_check.TestLlvmVersion.test_llvmlite_version) and tests that are specific to x64 (numba.tests.test_vectorization.TestVectorization), everything else is ok.

Comment thread numba/tests/test_debuginfo.py Outdated
As titled.

Co-authored-by: stuartarchibald <stuartarchibald@users.noreply.github.com>
@stuartarchibald stuartarchibald added the Effort - long Long size effort needed label Feb 23, 2023
@stuartarchibald stuartarchibald added this to the Numba 0.57 RC milestone Feb 23, 2023
@stuartarchibald

Copy link
Copy Markdown
Contributor

NOTE: the table here will need an update in the LLVM version column:

| 0.57.x | TBC | 3.8.x <= version < 3.12 | 1.19 <= version < 1.24 | 0.40.x | 11.x | 2021.x |

Comment thread numba/__init__.py Outdated

_min_llvmlite_version = (0, 40, 0)
_min_llvm_version = (11, 0, 0)
_min_llvm_version = (14, 0, 0)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be conditional on the platform due to linux-aarch64 split build.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think should be just 11. We're theoretically fine with LLVM 11 on any platform, right?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure

@sklam

sklam commented Mar 10, 2023

Copy link
Copy Markdown
Member

@apmasell, this PR needs a merge main to resolve conflicts

@gmarkall

Copy link
Copy Markdown
Member

gpuci run tests

Comment thread numba/core/codegen.py
pm.add_cfg_simplification_pass()
else:
pm.add_instruction_combining_pass()
pm.add_jump_threading_pass()

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please could a comment be added explaining what the problem was and why this fixes it? Thanks!

@sklam

sklam commented Mar 13, 2023

Copy link
Copy Markdown
Member

I tested this branch against the latest llvmlite package at #8807 and it passed (except windows are failing due to timeout)

@sklam sklam left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few more comments need address before merging, including #8535 (comment)
and mainly reverting the change in the llvmlite version.

- importlib_metadata # [py<39]
# On channel https://anaconda.org/numba/
- llvmlite >=0.40.0dev0,<0.40
- llvmlite >=0.40.0dev0llvm14,<0.40

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need a revert on this

call activate %CONDA_ENV%
@rem Install latest llvmlite build
%CONDA_INSTALL% -c numba/label/dev llvmlite=0.40
%CONDA_INSTALL% -c numba/label/dev "llvmlite=0.40.0dev0llvm14*"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need a revert on this


# Install latest correct build
$CONDA_INSTALL -c numba/label/dev llvmlite=0.40
$CONDA_INSTALL -c numba/label/dev "llvmlite=0.40.0dev0llvm14*"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need a revert on this

self.check(func, (types.intp), basicblock=True, diamond=False,
fanout=True, fanout_raise=False)

def test_fanout_3(self):

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to skip this for linux-aarch64 or just when llvm version == 11?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As longa s we're using a new llvmlite, I think this should work.

@sklam sklam added 4 - Waiting on reviewer Waiting for reviewer to respond to author and removed 3 - Ready for Review labels Mar 13, 2023
@sklam sklam added 4 - Waiting on CI Review etc done, waiting for CI to finish and removed 4 - Waiting on reviewer Waiting for reviewer to respond to author labels Mar 13, 2023
@sklam

sklam commented Mar 13, 2023

Copy link
Copy Markdown
Member

Builds are failing expectedly because they are picking up the old llvmlite build

@sklam
sklam merged commit c66a986 into numba:main Mar 13, 2023
@sklam sklam added 5 - Ready to merge Review and testing done, is ready to merge and removed 4 - Waiting on CI Review etc done, waiting for CI to finish labels Mar 13, 2023
@apmasell
apmasell deleted the llvm14 branch March 13, 2023 19:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

5 - Ready to merge Review and testing done, is ready to merge Effort - long Long size effort needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants