diff --git a/examples/BuddyLeNet/CMakeLists.txt b/examples/BuddyLeNet/CMakeLists.txt index 9ea26f00e3..d460d0e345 100644 --- a/examples/BuddyLeNet/CMakeLists.txt +++ b/examples/BuddyLeNet/CMakeLists.txt @@ -60,7 +60,7 @@ target_link_directories(buddy-lenet-run PRIVATE ${LLVM_LIBRARY_DIR}) if(NOT DEFINED BUDDY_ENABLE_PNG) message(FATAL_ERROR "To run LeNet inference, the png library is required. Please define BUDDY_ENABLE_PNG for CMake.") endif() -set(BUDDY_LENET_LIBS LENET mlir_c_runner_utils mlir_async_runtime mlir_runner_utils mlir_cuda_runtime ${PNG_LIBRARIES}) +set(BUDDY_LENET_LIBS LENET mlir_c_runner_utils mlir_async_runtime mlir_runner_utils ${PNG_LIBRARIES}) target_link_libraries(buddy-lenet-run ${BUDDY_LENET_LIBS}) diff --git a/examples/BuddyLeNet/README.md b/examples/BuddyLeNet/README.md index bd4efa15f6..8ddab714b4 100644 --- a/examples/BuddyLeNet/README.md +++ b/examples/BuddyLeNet/README.md @@ -12,11 +12,47 @@ $ python pytorch-lenet-train.py ## LeNet Model Inference -0. Activate your python environment. +### Activate your python environment. -1. Build buddy-mlir +```bash +$ conda activate +``` + +### Build LLVM + +```bash +$ cd buddy-mlir +$ mkdir llvm/build +$ cd llvm/build + +// CPU +$ cmake -G Ninja ../llvm \ + -DLLVM_ENABLE_PROJECTS="mlir;clang;openmp" \ + -DLLVM_TARGETS_TO_BUILD="host;RISCV" \ + -DLLVM_ENABLE_ASSERTIONS=ON \ + -DOPENMP_ENABLE_LIBOMPTARGET=OFF \ + -DCMAKE_BUILD_TYPE=RELEASE \ + -DMLIR_ENABLE_BINDINGS_PYTHON=ON \ + -DPython3_EXECUTABLE=$(which python3) + +// GPU +$ cmake -G Ninja ../llvm \ + -DLLVM_ENABLE_PROJECTS="mlir;clang;openmp" \ + -DLLVM_TARGETS_TO_BUILD="host;RISCV;NVPTX" \ + -DMLIR_ENABLE_CUDA_RUNNER=ON \ + -DLLVM_ENABLE_ASSERTIONS=ON \ + -DOPENMP_ENABLE_LIBOMPTARGET=OFF \ + -DCMAKE_BUILD_TYPE=RELEASE \ + -DMLIR_ENABLE_BINDINGS_PYTHON=ON \ + -DPython3_EXECUTABLE=$(which python3) + +$ ninja check-clang check-mlir omp +``` + +### Build buddy-mlir ```bash +$ cd buddy-mlir $ mkdir build && cd build $ cmake -G Ninja .. \ -DMLIR_DIR=$PWD/../llvm/build/lib/cmake/mlir \ @@ -31,7 +67,7 @@ $ ninja $ ninja check-buddy ``` -2. Set the `PYTHONPATH` environment variable. +### Set the `PYTHONPATH` environment variable. Make sure you are in the build directory. @@ -41,13 +77,13 @@ $ export LLVM_MLIR_BUILD_DIR=$PWD/../llvm/build $ export PYTHONPATH=${LLVM_MLIR_BUILD_DIR}/tools/mlir/python_packages/mlir_core:${BUDDY_MLIR_BUILD_DIR}/python_packages:${PYTHONPATH} ``` -3. Set the `LENET_EXAMPLE_PATH` environment variable. +### Set the `LENET_EXAMPLE_PATH` environment variable. ```bash $ export LENET_EXAMPLE_PATH=${BUDDY_MLIR_BUILD_DIR}/../examples/BuddyLeNet/ ``` -4. Build and run the LeNet example +### Build and run the LeNet example ```bash $ cmake -G Ninja .. -DBUDDY_LENET_EXAMPLES=ON