mirror of https://github.com/llvm/torch-mlir
Update readme and scripts for setting the new PYTHONPATH
Add scripts for generating .env and update instructions in README.pull/260/head
parent
ec611c1e6f
commit
6fbf94f0b2
19
README.md
19
README.md
|
@ -60,10 +60,15 @@ The cmake configuration populates symlinks in the `build/python` directory
|
|||
mirroring the source layout. This allows edit-run without rebuilding (unless
|
||||
if files are added/removed).
|
||||
|
||||
Configuring the `PYTHONPATH` as above should be sufficient to run any
|
||||
interactive tooling (`python3`, Jupyter/Colab, etc).
|
||||
For using with any interactive tooling (`python3`, Jupyter/Colab, etc) it should be
|
||||
sufficient to add `python_packages/npcomp_torch/` and `python_packages/npcomp_core/`
|
||||
directories under `build` directory to `PYTHONPATH`
|
||||
|
||||
Note that running the `cmake_configure.sh` script will also output a `.env`
|
||||
```shell
|
||||
export PYTHONPATH=$(cd build && pwd)/python_packages/npcomp_torch:$(cd build && pwd)/python_packages/npcomp_core
|
||||
```
|
||||
|
||||
Note that running the `build_tools/write_env_file.sh` script will output a `.env`
|
||||
file in the workspace folder with the correct PYTHONPATH set. This allows
|
||||
tools like VSCode to work by default for debugging.
|
||||
|
||||
|
@ -101,6 +106,10 @@ LLVM_VERSION=10
|
|||
export CC=clang-$LLVM_VERSION
|
||||
export CXX=clang++-$LLVM_VERSION
|
||||
export LDFLAGS=-fuse-ld=$(which ld.lld-$LLVM_VERSION)
|
||||
|
||||
# run write_env_file.sh to emit a .env file with needed
|
||||
# PYTHONPATH setup.
|
||||
./build_tools/write_env_file.sh
|
||||
```
|
||||
|
||||
### Vanilla - numpy-only, no pytorch
|
||||
|
@ -119,10 +128,6 @@ cmake -GNinja -Bbuild -DCMAKE_BUILD_TYPE=Release .
|
|||
cd build
|
||||
ninja
|
||||
ninja check-npcomp
|
||||
|
||||
# cmake_configure.sh should emit a .env file with needed
|
||||
# PYTHONPATH setup.
|
||||
source .env
|
||||
```
|
||||
|
||||
### With PyTorch integration
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/bash
|
||||
# generate the .env file with default options.
|
||||
#
|
||||
# For arbitrary build/install directories, set the env variables:
|
||||
# - NPCOMP_BUILD_DIR
|
||||
|
||||
portable_realpath() {
|
||||
# Create the directory if needed so that the `cd` doesn't fail.
|
||||
mkdir -p $1 && cd $1 && pwd
|
||||
}
|
||||
|
||||
td="$(portable_realpath $(dirname $0)/..)"
|
||||
build_dir="$(portable_realpath "${NPCOMP_BUILD_DIR:-$td/build}")"
|
||||
python_packages_dir="$build_dir/python_packages"
|
||||
|
||||
write_env_file() {
|
||||
echo "Updating $build_dir/.env file"
|
||||
echo "PYTHONPATH=\"$(portable_realpath "$python_packages_dir/npcomp_core"):$(portable_realpath "$python_packages_dir/npcomp_torch")\"" > "$build_dir/.env"
|
||||
echo "NUMPY_EXPERIMENTAL_ARRAY_FUNCTION=1" >> "$build_dir/.env"
|
||||
if ! cp "$build_dir/.env" "$td/.env"; then
|
||||
echo "WARNING: Failed to write $td/.env"
|
||||
fi
|
||||
}
|
||||
|
||||
write_env_file
|
Loading…
Reference in New Issue