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

Build/build script #210

Merged
merged 2 commits into from
May 17, 2022
Merged

Build/build script #210

merged 2 commits into from
May 17, 2022

Conversation

diptorupd
Copy link

Adds a script to make it easier to build and regularly rebuild IMEX. The scripts/build_locally.py can clone and build LLVM's MLIR project and then build IMEX. The script can ensure that an existing LLVM installation is updated whenever the llvm-sha.txt file is updated.

Basic Usage:

python scripts\build_locally.py --working-dir=<path-where-llvm-should-be-cloned-and-build>

More features are available, for example to reuse existing LLVM installation. python scripts\build_locally.py -h.

Only works on Linux as of now and I have not yet tried the Numba-specific build.

@diptorupd diptorupd requested a review from silee2 April 27, 2022 00:55
@diptorupd
Copy link
Author

@rgesteve Can you try it out as well? Will be good to get it working on Windows.

@diptorupd diptorupd force-pushed the build/build_script branch from 3e8cf4a to 4675567 Compare April 27, 2022 02:50
@silee2
Copy link
Contributor

silee2 commented Apr 27, 2022

I've been working on something related yesterday #211. Looks orthogonal to the change made in the PR. This PR mostly adds prefix IMEX to CMake options and introduces a python script for building. #211 is not ready for merging but created PR just to share it with you.
The PR tries to build third party projects automatically with IMEX in a single cmake build if user does not provide path to pre-built third party components.
LLVM/MLIR build tree is supported in addition to install tree. LLVM and level zero loader is updated automatically based on sha file.

@diptorupd
Copy link
Author

LLVM/MLIR build tree is supported in addition to install tree. LLVM and level zero loader is updated automatically based on sha file.

That is nice. I am doing the same thing via the python build script. But, doing it in CMake is better.

Copy link
Contributor

@silee2 silee2 left a comment

Choose a reason for hiding this comment

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

LGTM

CMakeLists.txt Outdated Show resolved Hide resolved
  - Adds a build_locally.py script to build imex on Limux.
  - The script clones and build LLVM if needed,
    - either on first build,
    - or when the llvm-sha.txt is updated
@diptorupd diptorupd force-pushed the build/build_script branch from 826b06b to 20196b9 Compare May 11, 2022 19:03
@diptorupd diptorupd force-pushed the build/build_script branch from 20196b9 to 3ad0ccd Compare May 11, 2022 19:21
@diptorupd diptorupd merged commit 87fe770 into intel:main May 17, 2022
@diptorupd diptorupd deleted the build/build_script branch May 17, 2022 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants