From eb90a1031ec06fa8fa3ee8634e83a653e833ff38 Mon Sep 17 00:00:00 2001 From: Alexander Heinecke Date: Mon, 17 Feb 2025 22:19:16 -0800 Subject: [PATCH 1/3] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index eea8d44de..19b843d9e 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ If you're having trouble with your build, you can use Conda to create a minimal git clone https://github.com/llvm/llvm-project.git # checking out a tpp-mlir compatible version of llvm-project -wget https://raw.githubusercontent.com/plaidml/tpp-mlir/main/build_tools/llvm_version.txt +wget https://raw.githubusercontent.com/libxsmm/tpp-mlir/main/build_tools/llvm_version.txt pushd llvm-project git checkout `cat ../llvm_version.txt` popd @@ -101,14 +101,14 @@ Every modern Linux and MacOS system should be able to build our project without As each operating system has its own package manager and package names, we opted for providing instructions for the user-level package manager ```conda```. This environment has been successfully tested on top of a Fedora Server minimal installation with less than 400 system-wide packages being installed. -Initial Setup (using Conda): +Initial Setup (using Conda via Miniforge): ```sh export TPPMLIR_WORKSPACE_DIR=/foo cd ${TPPMLIR_WORKSPACE_DIR} export ARCH_NAME=$(uname -m) -wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-${ARCH_NAME}.sh -bash Miniconda3-latest-Linux-${ARCH_NAME}.sh -b -p ${TPPMLIR_WORKSPACE_DIR}/miniconda3 -eval "$(${TPPMLIR_WORKSPACE_DIR}/miniconda3/bin/conda shell.bash hook)" +wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-${ARCH_NAME}.sh +bash Miniforge3-Linux-${ARCH_NAME}.sh -b -p ${TPPMLIR_WORKSPACE_DIR}/miniforge3 +eval "$(${TPPMLIR_WORKSPACE_DIR}/miniforge3/bin/conda shell.bash hook)" conda activate conda install -y cmake ninja git clang clangxx llvm lld llvm-openmp llvm-tools binutils @@ -124,7 +124,7 @@ Reloading the environment after conda deactivate/logout/reboot: ```sh export TPPMLIR_WORKSPACE_DIR=/foo cd ${TPPMLIR_WORKSPACE_DIR} -eval "$(${TPPMLIR_WORKSPACE_DIR}/miniconda3/bin/conda shell.bash hook)" +eval "$(${TPPMLIR_WORKSPACE_DIR}/miniforge3/bin/conda shell.bash hook)" conda activate ``` From c451f179c14a60ed8ea3928a0620fdee6708fad2 Mon Sep 17 00:00:00 2001 From: Alexander Heinecke Date: Mon, 17 Feb 2025 22:22:35 -0800 Subject: [PATCH 2/3] Update README.md switch default option to release. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 19b843d9e..674d2304c 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ cmake -G Ninja ../llvm \ -DLLVM_BUILD_EXAMPLES=ON \ -DLLVM_INSTALL_UTILS=ON \ -DLLVM_TARGETS_TO_BUILD="host" \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_ASSERTIONS=ON \ -DCMAKE_C_COMPILER=clang \ -DCMAKE_CXX_COMPILER=clang++ \ @@ -82,7 +82,7 @@ pushd tpp-mlir/build # Build & test # Please, make sure to use clang to build TPP-MLIR cmake -G Ninja .. \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_BUILD_TYPE=Release \ -DMLIR_DIR=$CUSTOM_LLVM_ROOT/lib/cmake/mlir \ -DLLVM_EXTERNAL_LIT=$CUSTOM_LLVM_ROOT/bin/llvm-lit \ -DCMAKE_C_COMPILER=clang \ From a8e09b87ba63353f4de4a90e6dfec7fe14f22725 Mon Sep 17 00:00:00 2001 From: Alexander Heinecke Date: Mon, 17 Feb 2025 22:25:09 -0800 Subject: [PATCH 3/3] Update README.md added comment for build type --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 674d2304c..08a568d9f 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,8 @@ popd To enable experimental GPU support see: [GPU/README.md](lib/TPP/GPU/README.md) +In the example above, we are building both LLVM/MLIR and tpp-mlir in relese mode. You can easily change the build type by adopting the `-DCMAKE_BUILD_TYPE` option, e.g. `=DCMAKE_BUILD_TYPE=RelWithDebInfo`. + ### Conda Environment Every modern Linux and MacOS system should be able to build our project without glitches, however, you may have an older OS or some special condisiont (cluster environment).