Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion o/opensearch-project-k-nn/build_info.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"package_name": "opensearch-project-k-nn",
"github_url": "https://github.com/opensearch-project/k-NN",
"version": "3.3.0.0",
"required_versions":{"Releases": ["*"], "Tags": ["3.3.0.0"]},
"required_versions":{"Releases": ["*"], "Tags": ["*"]},
"default_branch": "main",
"package_dir": "o/opensearch-project-k-nn",
"build_script": "opensearch-project-k-NN_3.3.0.0_ubi_9.6.sh",
Expand All @@ -15,5 +15,8 @@
},
"2.19.2.0": {
"build_script": "opensearch-project-k-NN_2.19.2.0_ubi_9.3.sh"
},
"*.*.*.*": {
"build_script": "opensearch-project-k-NN_3.3.0.0_ubi_9.6.sh"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
# Source repo : https://github.com/opensearch-project/k-NN.git
# Tested on : UBI 9.6
# Language : Java and C++
# Ci-Check : True
# Ci-Check : True
# Script License : Apache License, Version 2 or later
# Maintainer : Prachi Gaonkar <Prachi.Gaonkar@ibm.com>
#
Expand All @@ -18,20 +18,23 @@
#
# ----------------------------------------------------------------------------

# Install sudo for non-root user execution
yum install sudo -y
# ---------------------------
# Check for root user
# ---------------------------
if ! ((${EUID:-0} || "$(id -u)")); then
set +ex
echo "FAIL: This script must be run as a non-root user with sudo permissions"
exit 3
fi
#if ! ((${EUID:-0} || "$(id -u)")); then
# set +ex
# echo "FAIL: This script must be run as a non-root user with sudo permissions"
# exit 3
#fi

# ---------------------------
# ----------------------------
# Configuration
# ---------------------------
# ----------------------------
PACKAGE_NAME=k-NN
PACKAGE_VERSION="3.3.0.0"
SCRIPT_PACKAGE_VERSION="3.3.0.0"
PACKAGE_VERSION=${1:-${SCRIPT_PACKAGE_VERSION}}
PACKAGE_URL=https://github.com/opensearch-project/${PACKAGE_NAME}.git
OPENSEARCH_VERSION=${PACKAGE_VERSION::-2}
OPENSEARCH_PACKAGE=OpenSearch
Expand Down Expand Up @@ -61,17 +64,13 @@ for i in "$@"; do
esac
done

# ---------------------------
# ------------------------------
# Dependency Installation
# ---------------------------
sudo yum install -y git wget python3-pip gcc gcc-c++ make cmake gcc-gfortran zlib zlib-devel openblas openblas-devel libomp
#install temurin java21
sudo wget https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.2%2B13/OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.2_13.tar.gz
sudo tar -C /usr/local -zxf OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.2_13.tar.gz
export JAVA_HOME=/usr/local/jdk-21.0.2+13/
export PATH=$PATH:/usr/local/jdk-21.0.2+13/bin/
sudo ln -sf /usr/local/jdk-21.0.2+13/bin/java /usr/bin/
sudo rm -rf OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.2_13.tar.gz
# ------------------------------
sudo yum install -y git wget python3-pip gcc gcc-c++ make cmake gcc-gfortran zlib zlib-devel openblas openblas-devel libomp java-21-openjdk-devel
export JAVA_HOME=$(ls -d /usr/lib/jvm/java-21-openjdk-* | head -n1)
export JRE_HOME=${JAVA_HOME}/jre
export PATH=${JAVA_HOME}/bin:$PATH

sudo ln -sf /usr/bin/python3 /usr/bin/python
pip install cmake==3.24.0
Expand Down Expand Up @@ -101,13 +100,13 @@ cmake .. -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$BUILD_HOME/local
make
make install

# ---------------------------
# ----------------------------
# Clone and Prepare Repository
# ---------------------------
# ----------------------------
cd $BUILD_HOME
git clone ${PACKAGE_URL}
cd ${PACKAGE_NAME} && git checkout ${PACKAGE_VERSION}
git apply ${SCRIPT_PATH}/$PACKAGE_NAME-$PACKAGE_VERSION.patch
git apply ${SCRIPT_PATH}/$PACKAGE_NAME-$SCRIPT_PACKAGE_VERSION.patch
cd jni
cmake -DBLAS_INCLUDE_DIR=$BUILD_HOME/local/include \
-DLAPACK_LIBRARIES=$BUILD_HOME/local/lib64/liblapack.so \
Expand All @@ -118,9 +117,9 @@ cmake -DBLAS_INCLUDE_DIR=$BUILD_HOME/local/include \
# Apply patches to NMSLIB and FAISS
# ----------------------------------------------
cd external/nmslib
git apply ${SCRIPT_PATH}/$PACKAGE_NAME-nmslib-$PACKAGE_VERSION.patch
git apply ${SCRIPT_PATH}/$PACKAGE_NAME-nmslib-$SCRIPT_PACKAGE_VERSION.patch
cd ../faiss/faiss
git apply ${SCRIPT_PATH}/$PACKAGE_NAME-faiss-$PACKAGE_VERSION.patch
git apply ${SCRIPT_PATH}/$PACKAGE_NAME-faiss-$SCRIPT_PACKAGE_VERSION.patch
cd $BUILD_HOME/$PACKAGE_NAME/jni
rm -rf build CMakeFiles CMakeCache.txt
make
Expand Down
Loading