diff --git a/.github/workflows/ci-checks-build.yml b/.github/workflows/ci-checks-build.yml
index 08c66f3c6..17084546c 100644
--- a/.github/workflows/ci-checks-build.yml
+++ b/.github/workflows/ci-checks-build.yml
@@ -62,7 +62,7 @@ jobs:
~/.m2/repository
/opt/intel/oneapi
~/opt
- key: ${{ runner.os }}_spark-3.2.0_hadoop-3.2.0_oneapi-2021.4.0
+ key: ${{ runner.os }}_spark-3.2.0_hadoop-3.2.0_oneapi-2022.1.2
restore-keys: |
${{ runner.os }}-
- name: Build Test for CPU and GPU
diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml
index 59eb8b192..eedc2ea7d 100644
--- a/.github/workflows/ci-tests.yml
+++ b/.github/workflows/ci-tests.yml
@@ -4,7 +4,7 @@ on: [push, pull_request]
jobs:
local-test:
- name: Local Test for Units
+ name: Local Test for Units (CPU)
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
@@ -20,7 +20,7 @@ jobs:
~/.m2/repository
/opt/intel/oneapi
~/opt
- key: ${{ runner.os }}_spark-3.2.0_hadoop-3.2.0_oneapi-2021.4.0
+ key: ${{ runner.os }}_spark-3.2.0_hadoop-3.2.0_oneapi-2022.1.2
restore-keys: |
${{ runner.os }}-
- name: Local Test
@@ -28,7 +28,7 @@ jobs:
${{github.workspace}}/dev/ci/ci-local-test.sh
cluster-test:
- name: Cluster Test for Examples
+ name: Cluster Test for Examples (CPU)
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
@@ -44,7 +44,7 @@ jobs:
~/.m2/repository
/opt/intel/oneapi
~/opt
- key: ${{ runner.os }}_spark-3.2.0_hadoop-3.2.0_oneapi-2021.4.0
+ key: ${{ runner.os }}_spark-3.2.0_hadoop-3.2.0_oneapi-2022.1.2
restore-keys: |
${{ runner.os }}-
- name: Cluster Test
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
index baa3db3b1..1f34b0ce5 100644
--- a/.vscode/c_cpp_properties.json
+++ b/.vscode/c_cpp_properties.json
@@ -9,7 +9,7 @@
"${JAVA_HOME}/include/**"
],
"defines": [],
- "compilerPath": "${CMPLR_ROOT}/linux/bin/clang",
+ "compilerPath": "${CMPLR_ROOT}/linux/bin/dpcpp",
"cStandard": "c17",
"cppStandard": "c++14",
"intelliSenseMode": "clang-x64"
diff --git a/README.md b/README.md
index 6bfe76755..d14b0f864 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@ You can find the all the OAP MLlib documents on the [project web page](https://o
### Java/Scala Users Preferred
-Use a pre-built OAP MLlib JAR to get started. You can firstly download OAP package from [OAP-JARs-Tarball](https://github.com/oap-project/oap-tools/releases/download/v1.3.0/oap-1.3.0-bin.tar.gz) and extract this Tarball to get `oap-mllib-x.x.x.jar` under `oap-x.x.x-bin-spark-x.x.x/jars`.
+Use a pre-built OAP MLlib JAR to get started. You can firstly download OAP package from [OAP-JARs-Tarball](https://github.com/oap-project/oap-tools/releases/download/v1.3.1/oap-1.3.1-bin.tar.gz) and extract this Tarball to get `oap-mllib-x.x.x.jar` under `oap-x.x.x-bin-spark-x.x.x/jars`.
Then you can refer to the following [Running](#running) section to try out.
@@ -118,7 +118,7 @@ We use [Apache Maven](https://maven.apache.org/) to manage and build source code
* JDK 8.0+
* Apache Maven 3.6.2+
* GNU GCC 4.8.5+
-* IntelĀ® oneAPI Base Toolkit (>=2021.4.0) Components :
+* IntelĀ® oneAPI Base Toolkit (>=2022.1) Components :
- DPC++/C++ Compiler (dpcpp/clang++)
- Data Analytics Library (oneDAL)
- Threading Building Blocks (oneTBB)
@@ -158,7 +158,7 @@ We suggest you to source `setvars.sh` script into current shell to setup buildin
$ source /opt/intel/oneapi/setvars.sh
```
-You can also refer to [this CI script](dev/ci-test.sh) to setup the building environments.
+You can also refer to [this CI script](dev/ci/ci-build-test.sh) to setup the building environments.
If you prefer to buid your own open source [oneDAL](https://github.com/oneapi-src/oneDAL), [oneTBB](https://github.com/oneapi-src/oneTBB), [oneCCL](https://github.com/oneapi-src/oneCCL) versions rather than use the ones included in oneAPI Base Toolkit, you can refer to the related build instructions and manually source `setvars.sh` accordingly.
diff --git a/RELEASE b/RELEASE
index 7e9ffe4e3..ae20dcd65 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,3 +1,3 @@
-OAP_MLLIB_VERSION=1.3.0
+OAP_MLLIB_VERSION=1.3.1
SPARK_VERSION=3.2.0
PLATFORM_PROFILE=CPU_ONLY_PROFILE
\ No newline at end of file
diff --git a/dev/install-build-deps-centos.sh b/dev/install-build-deps-centos.sh
index 877992228..02a7e1829 100755
--- a/dev/install-build-deps-centos.sh
+++ b/dev/install-build-deps-centos.sh
@@ -15,7 +15,7 @@ EOF
sudo mv /tmp/oneAPI.repo /etc/yum.repos.d
# sudo yum groupinstall -y "Development Tools"
# sudo yum install -y cmake
- sudo yum install -y intel-oneapi-dpcpp-cpp-2021.4.0 intel-oneapi-dal-devel-2021.4.0 intel-oneapi-tbb-devel-2021.4.0 intel-oneapi-ccl-devel-2021.4.0 intel-oneapi-mpi-devel-2021.4.0
+ sudo yum install -y intel-oneapi-dpcpp-cpp-2022.0.2 intel-oneapi-dal-devel-2021.5.3 intel-oneapi-tbb-devel-2021.5.1 intel-oneapi-ccl-devel-2021.5.1 intel-oneapi-mpi-devel-2021.5.1
else
echo "oneAPI components already installed!"
fi
diff --git a/dev/install-build-deps-ubuntu.sh b/dev/install-build-deps-ubuntu.sh
index 027956b74..a745324b3 100755
--- a/dev/install-build-deps-ubuntu.sh
+++ b/dev/install-build-deps-ubuntu.sh
@@ -9,7 +9,7 @@ if [ ! -d /opt/intel/oneapi ]; then
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
# sudo apt-get install -y build-essential cmake
- sudo apt-get install -y intel-oneapi-dpcpp-cpp-2021.4.0 intel-oneapi-dal-devel-2021.4.0 intel-oneapi-tbb-devel-2021.4.0 intel-oneapi-ccl-devel-2021.4.0 intel-oneapi-mpi-devel-2021.4.0
+ sudo apt-get install -y intel-oneapi-dpcpp-cpp-2022.0.2 intel-oneapi-dal-devel-2021.5.3 intel-oneapi-tbb-devel-2021.5.1 intel-oneapi-ccl-devel-2021.5.1 intel-oneapi-mpi-devel-2021.5.1
else
echo "oneAPI components already installed!"
fi
diff --git a/dev/prepare-build-deps-gpu.sh b/dev/prepare-build-deps-gpu.sh
index abea6fd0f..1b5f3cab0 100755
--- a/dev/prepare-build-deps-gpu.sh
+++ b/dev/prepare-build-deps-gpu.sh
@@ -48,7 +48,7 @@ TARGET_DIR=./src/main/resources/lib
rm -f $TARGET_DIR/*.so*
-cp $CCL_ROOT/lib/cpu_icc/libccl.so.1.0 $TARGET_DIR/libccl.so.1
+cp $CCL_ROOT/lib/cpu/libccl.so.1.0 $TARGET_DIR/libccl.so.1
cp $I_MPI_ROOT/libfabric/lib/libfabric.so.1 $TARGET_DIR/libfabric.so.1
cp $I_MPI_ROOT/libfabric/lib/prov/libsockets-fi.so $TARGET_DIR
@@ -61,8 +61,8 @@ cp $I_MPI_ROOT/lib/release_mt/libmpi.so.12.0.0 $TARGET_DIR/libmpi.so.12
cp $DAALROOT/lib/intel64/libJavaAPI.so.1.1 $TARGET_DIR/libJavaAPI.so
-cp $TBBROOT/lib/intel64/gcc4.8/libtbb.so.12.4 $TARGET_DIR/libtbb.so.12
-cp $TBBROOT/lib/intel64/gcc4.8/libtbbmalloc.so.2.4 $TARGET_DIR/libtbbmalloc.so.2
+cp $TBBROOT/lib/intel64/gcc4.8/libtbb.so.12.5 $TARGET_DIR/libtbb.so.12
+cp $TBBROOT/lib/intel64/gcc4.8/libtbbmalloc.so.2.5 $TARGET_DIR/libtbbmalloc.so.2
# SYCL libs
cp $CMPLR_ROOT/linux/compiler/lib/intel64_lin/libintlc.so.5 $TARGET_DIR
diff --git a/dev/prepare-build-deps.sh b/dev/prepare-build-deps.sh
index b3bbea9c7..fdbb7c0ab 100755
--- a/dev/prepare-build-deps.sh
+++ b/dev/prepare-build-deps.sh
@@ -48,7 +48,7 @@ TARGET_DIR=./src/main/resources/lib
rm -f $TARGET_DIR/*.so*
-cp $CCL_ROOT/lib/cpu_icc/libccl.so.1.0 $TARGET_DIR/libccl.so.1
+cp $CCL_ROOT/lib/cpu/libccl.so.1.0 $TARGET_DIR/libccl.so.1
cp $I_MPI_ROOT/libfabric/lib/libfabric.so.1 $TARGET_DIR/libfabric.so.1
cp $I_MPI_ROOT/libfabric/lib/prov/libsockets-fi.so $TARGET_DIR
@@ -61,7 +61,7 @@ cp $I_MPI_ROOT/lib/release_mt/libmpi.so.12.0.0 $TARGET_DIR/libmpi.so.12
cp $DAALROOT/lib/intel64/libJavaAPI.so.1.1 $TARGET_DIR/libJavaAPI.so
-cp $TBBROOT/lib/intel64/gcc4.8/libtbb.so.12.4 $TARGET_DIR/libtbb.so.12
-cp $TBBROOT/lib/intel64/gcc4.8/libtbbmalloc.so.2.4 $TARGET_DIR/libtbbmalloc.so.2
+cp $TBBROOT/lib/intel64/gcc4.8/libtbb.so.12.5 $TARGET_DIR/libtbb.so.12
+cp $TBBROOT/lib/intel64/gcc4.8/libtbbmalloc.so.2.5 $TARGET_DIR/libtbbmalloc.so.2
echo oneAPI Toolkit version: $(basename $CCL_ROOT) > $TARGET_DIR/VERSION
diff --git a/examples/als/pom.xml b/examples/als/pom.xml
index 39d207a95..3515af59f 100644
--- a/examples/als/pom.xml
+++ b/examples/als/pom.xml
@@ -4,7 +4,7 @@
com.intel.oap
oap-mllib-examples
- 1.3.0
+ 1.3.1
jar
ALSExample
diff --git a/examples/correlation/pom.xml b/examples/correlation/pom.xml
index a8af7cddc..a8ddcb0e8 100644
--- a/examples/correlation/pom.xml
+++ b/examples/correlation/pom.xml
@@ -4,7 +4,7 @@
com.intel.oap
oap-mllib-examples
- 1.3.0
+ 1.3.1
jar
CorrelationExample
diff --git a/examples/kmeans/pom.xml b/examples/kmeans/pom.xml
index e4437c51a..cf56f78e4 100644
--- a/examples/kmeans/pom.xml
+++ b/examples/kmeans/pom.xml
@@ -4,7 +4,7 @@
com.intel.oap
oap-mllib-examples
- 1.3.0
+ 1.3.1
jar
KMeansExample
diff --git a/examples/linear-regression/pom.xml b/examples/linear-regression/pom.xml
index 641562d85..c25e1cf6f 100644
--- a/examples/linear-regression/pom.xml
+++ b/examples/linear-regression/pom.xml
@@ -4,7 +4,7 @@
com.intel.oap
oap-mllib-examples
- 1.3.0
+ 1.3.1
jar
LinearRegressionExample
diff --git a/examples/naive-bayes/pom.xml b/examples/naive-bayes/pom.xml
index bb920cdeb..ee5e9af95 100644
--- a/examples/naive-bayes/pom.xml
+++ b/examples/naive-bayes/pom.xml
@@ -4,7 +4,7 @@
com.intel.oap
oap-mllib-examples
- 1.3.0
+ 1.3.1
jar
NaiveBayesExample
diff --git a/examples/pca/pom.xml b/examples/pca/pom.xml
index 263a984a9..a638f3470 100644
--- a/examples/pca/pom.xml
+++ b/examples/pca/pom.xml
@@ -4,7 +4,7 @@
com.intel.oap
oap-mllib-examples
- 1.3.0
+ 1.3.1
jar
PCAExample
diff --git a/examples/summarizer/pom.xml b/examples/summarizer/pom.xml
index bc6d70ae3..b75c43ced 100644
--- a/examples/summarizer/pom.xml
+++ b/examples/summarizer/pom.xml
@@ -4,7 +4,7 @@
com.intel.oap
oap-mllib-examples
- 1.3.0
+ 1.3.1
jar
SummaryStatisticsExample
diff --git a/mllib-dal/build.sh b/mllib-dal/build.sh
index d8fece3b8..4f9a51df1 100755
--- a/mllib-dal/build.sh
+++ b/mllib-dal/build.sh
@@ -128,7 +128,15 @@ echo DAALROOT=$DAALROOT
echo TBBROOT=$TBBROOT
echo CCL_ROOT=$CCL_ROOT
echo Maven Version: $(mvn -v | head -n 1 | cut -f3 -d" ")
-echo Clang Version: $(clang -dumpversion)
+
+if [[ $PLATFORM_PROFILE == CPU_ONLY_PROFILE ]]
+then
+ echo GCC Version: $(gcc -dumpversion)
+elif [[ $PLATFORM_PROFILE == CPU_GPU_PROFILE ]]
+then
+ echo DPCPP Version: $(dpcpp -dumpversion)
+fi
+
echo Spark Version: $SPARK_VERSION
echo Platform Profile: $PLATFORM_PROFILE
echo =============================
diff --git a/mllib-dal/pom.xml b/mllib-dal/pom.xml
index c2b49e591..23f1b2a51 100644
--- a/mllib-dal/pom.xml
+++ b/mllib-dal/pom.xml
@@ -4,7 +4,7 @@
com.intel.oap
oap-mllib
- 1.3.0
+ 1.3.1
OAP Project OAP MLlib
jar
https://github.com/oap-project/oap-mllib.git
@@ -17,7 +17,7 @@
2.12
3.2.9
3.2.0
- 2021.4.0.83
+ 2021.5.0.91
src/assembly/assembly.xml
diff --git a/mllib-dal/src/main/native/Makefile b/mllib-dal/src/main/native/Makefile
index fe170d3ad..cfe516282 100644
--- a/mllib-dal/src/main/native/Makefile
+++ b/mllib-dal/src/main/native/Makefile
@@ -12,8 +12,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-CC := clang
-CXX := clang++
+# Use gcc for CPU and dpcpp for GPU
+ifeq ($(PLATFORM_PROFILE),CPU_ONLY_PROFILE)
+ CC := gcc
+ CXX := g++
+else ifeq ($(PLATFORM_PROFILE),CPU_GPU_PROFILE)
+ CC := dpcpp
+ CXX := dpcpp
+endif
+
RM := rm -rf
PLATFORM_PROFILE ?= CPU_ONLY_PROFILE
@@ -35,13 +42,13 @@ endif
INCS := -I $(JAVA_HOME)/include \
-I $(JAVA_HOME)/include/linux \
- -I $(CCL_ROOT)/include/cpu_icc \
+ -I $(CCL_ROOT)/include/cpu \
-I $(DAALROOT)/include \
-I ./javah \
-I ./
# Use static link if possible, TBB is only available as dynamic libs
-LIBS_COMMON := -L$(CCL_ROOT)/lib/cpu_icc -lccl \
+LIBS_COMMON := -L$(CCL_ROOT)/lib/cpu -lccl \
-L$(CMPLR_ROOT)/linux/compiler/lib/intel64_lin -l:libirc.a \
-L$(DAALROOT)/lib/intel64 -l:libonedal_core.a -l:libonedal_thread.a \
-L$(TBBROOT)/lib/intel64/gcc4.8 -ltbb -ltbbmalloc