Skip to content

Commit 8f3ab75

Browse files
Hongxwu99
Hong
andauthored
[ML-202] Update oneAPI Base Toolkit version and prepare for OAP 1.3.1 release (#203)
* oneapi 2022.1 changes: cpu_icc => cpu/libccl.so.1.0, libtbb.so.12.5, clang => dpcpp * [ML-202] Update oneAPI Base Toolkit version and prepare for OAP 1.3.1 release * Update deps version for Ubuntu and README * Remove cached oneAPI in workflow * Update RELEASE * Adjust compiler: gcc for CPU and dpcpp for GPU * nit * Modify CI checks * Update .github/workflows/ci-tests.yml Co-authored-by: Wu, Xiaochang <[email protected]>
1 parent a249d28 commit 8f3ab75

File tree

19 files changed

+47
-32
lines changed

19 files changed

+47
-32
lines changed

.github/workflows/ci-checks-build.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jobs:
6262
~/.m2/repository
6363
/opt/intel/oneapi
6464
~/opt
65-
key: ${{ runner.os }}_spark-3.2.0_hadoop-3.2.0_oneapi-2021.4.0
65+
key: ${{ runner.os }}_spark-3.2.0_hadoop-3.2.0_oneapi-2022.1.2
6666
restore-keys: |
6767
${{ runner.os }}-
6868
- name: Build Test for CPU and GPU

.github/workflows/ci-tests.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on: [push, pull_request]
44

55
jobs:
66
local-test:
7-
name: Local Test for Units
7+
name: Local Test for Units (CPU)
88
runs-on: ubuntu-18.04
99
steps:
1010
- uses: actions/checkout@v2
@@ -20,15 +20,15 @@ jobs:
2020
~/.m2/repository
2121
/opt/intel/oneapi
2222
~/opt
23-
key: ${{ runner.os }}_spark-3.2.0_hadoop-3.2.0_oneapi-2021.4.0
23+
key: ${{ runner.os }}_spark-3.2.0_hadoop-3.2.0_oneapi-2022.1.2
2424
restore-keys: |
2525
${{ runner.os }}-
2626
- name: Local Test
2727
run: |
2828
${{github.workspace}}/dev/ci/ci-local-test.sh
2929
3030
cluster-test:
31-
name: Cluster Test for Examples
31+
name: Cluster Test for Examples (CPU)
3232
runs-on: ubuntu-18.04
3333
steps:
3434
- uses: actions/checkout@v2
@@ -44,7 +44,7 @@ jobs:
4444
~/.m2/repository
4545
/opt/intel/oneapi
4646
~/opt
47-
key: ${{ runner.os }}_spark-3.2.0_hadoop-3.2.0_oneapi-2021.4.0
47+
key: ${{ runner.os }}_spark-3.2.0_hadoop-3.2.0_oneapi-2022.1.2
4848
restore-keys: |
4949
${{ runner.os }}-
5050
- name: Cluster Test

.vscode/c_cpp_properties.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"${JAVA_HOME}/include/**"
1010
],
1111
"defines": [],
12-
"compilerPath": "${CMPLR_ROOT}/linux/bin/clang",
12+
"compilerPath": "${CMPLR_ROOT}/linux/bin/dpcpp",
1313
"cStandard": "c17",
1414
"cppStandard": "c++14",
1515
"intelliSenseMode": "clang-x64"

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ You can find the all the OAP MLlib documents on the [project web page](https://o
2424

2525
### Java/Scala Users Preferred
2626

27-
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`.
27+
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`.
2828

2929
Then you can refer to the following [Running](#running) section to try out.
3030

@@ -118,7 +118,7 @@ We use [Apache Maven](https://maven.apache.org/) to manage and build source code
118118
* JDK 8.0+
119119
* Apache Maven 3.6.2+
120120
* GNU GCC 4.8.5+
121-
* Intel® oneAPI Base Toolkit (>=2021.4.0) Components :
121+
* Intel® oneAPI Base Toolkit (>=2022.1) Components :
122122
- DPC++/C++ Compiler (dpcpp/clang++)
123123
- Data Analytics Library (oneDAL)
124124
- Threading Building Blocks (oneTBB)
@@ -158,7 +158,7 @@ We suggest you to source `setvars.sh` script into current shell to setup buildin
158158
$ source /opt/intel/oneapi/setvars.sh
159159
```
160160

161-
You can also refer to [this CI script](dev/ci-test.sh) to setup the building environments.
161+
You can also refer to [this CI script](dev/ci/ci-build-test.sh) to setup the building environments.
162162

163163
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.
164164

RELEASE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
OAP_MLLIB_VERSION=1.3.0
1+
OAP_MLLIB_VERSION=1.3.1
22
SPARK_VERSION=3.2.0
33
PLATFORM_PROFILE=CPU_ONLY_PROFILE

dev/install-build-deps-centos.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ EOF
1515
sudo mv /tmp/oneAPI.repo /etc/yum.repos.d
1616
# sudo yum groupinstall -y "Development Tools"
1717
# sudo yum install -y cmake
18-
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
18+
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
1919
else
2020
echo "oneAPI components already installed!"
2121
fi

dev/install-build-deps-ubuntu.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ if [ ! -d /opt/intel/oneapi ]; then
99
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
1010
sudo apt-get update
1111
# sudo apt-get install -y build-essential cmake
12-
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
12+
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
1313
else
1414
echo "oneAPI components already installed!"
1515
fi

dev/prepare-build-deps-gpu.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ TARGET_DIR=./src/main/resources/lib
4848

4949
rm -f $TARGET_DIR/*.so*
5050

51-
cp $CCL_ROOT/lib/cpu_icc/libccl.so.1.0 $TARGET_DIR/libccl.so.1
51+
cp $CCL_ROOT/lib/cpu/libccl.so.1.0 $TARGET_DIR/libccl.so.1
5252

5353
cp $I_MPI_ROOT/libfabric/lib/libfabric.so.1 $TARGET_DIR/libfabric.so.1
5454
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
6161

6262
cp $DAALROOT/lib/intel64/libJavaAPI.so.1.1 $TARGET_DIR/libJavaAPI.so
6363

64-
cp $TBBROOT/lib/intel64/gcc4.8/libtbb.so.12.4 $TARGET_DIR/libtbb.so.12
65-
cp $TBBROOT/lib/intel64/gcc4.8/libtbbmalloc.so.2.4 $TARGET_DIR/libtbbmalloc.so.2
64+
cp $TBBROOT/lib/intel64/gcc4.8/libtbb.so.12.5 $TARGET_DIR/libtbb.so.12
65+
cp $TBBROOT/lib/intel64/gcc4.8/libtbbmalloc.so.2.5 $TARGET_DIR/libtbbmalloc.so.2
6666

6767
# SYCL libs
6868
cp $CMPLR_ROOT/linux/compiler/lib/intel64_lin/libintlc.so.5 $TARGET_DIR

dev/prepare-build-deps.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ TARGET_DIR=./src/main/resources/lib
4848

4949
rm -f $TARGET_DIR/*.so*
5050

51-
cp $CCL_ROOT/lib/cpu_icc/libccl.so.1.0 $TARGET_DIR/libccl.so.1
51+
cp $CCL_ROOT/lib/cpu/libccl.so.1.0 $TARGET_DIR/libccl.so.1
5252

5353
cp $I_MPI_ROOT/libfabric/lib/libfabric.so.1 $TARGET_DIR/libfabric.so.1
5454
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
6161

6262
cp $DAALROOT/lib/intel64/libJavaAPI.so.1.1 $TARGET_DIR/libJavaAPI.so
6363

64-
cp $TBBROOT/lib/intel64/gcc4.8/libtbb.so.12.4 $TARGET_DIR/libtbb.so.12
65-
cp $TBBROOT/lib/intel64/gcc4.8/libtbbmalloc.so.2.4 $TARGET_DIR/libtbbmalloc.so.2
64+
cp $TBBROOT/lib/intel64/gcc4.8/libtbb.so.12.5 $TARGET_DIR/libtbb.so.12
65+
cp $TBBROOT/lib/intel64/gcc4.8/libtbbmalloc.so.2.5 $TARGET_DIR/libtbbmalloc.so.2
6666

6767
echo oneAPI Toolkit version: $(basename $CCL_ROOT) > $TARGET_DIR/VERSION

examples/als/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.intel.oap</groupId>
66
<artifactId>oap-mllib-examples</artifactId>
7-
<version>1.3.0</version>
7+
<version>1.3.1</version>
88
<packaging>jar</packaging>
99

1010
<name>ALSExample</name>

examples/correlation/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.intel.oap</groupId>
66
<artifactId>oap-mllib-examples</artifactId>
7-
<version>1.3.0</version>
7+
<version>1.3.1</version>
88
<packaging>jar</packaging>
99

1010
<name>CorrelationExample</name>

examples/kmeans/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.intel.oap</groupId>
66
<artifactId>oap-mllib-examples</artifactId>
7-
<version>1.3.0</version>
7+
<version>1.3.1</version>
88
<packaging>jar</packaging>
99

1010
<name>KMeansExample</name>

examples/linear-regression/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.intel.oap</groupId>
66
<artifactId>oap-mllib-examples</artifactId>
7-
<version>1.3.0</version>
7+
<version>1.3.1</version>
88
<packaging>jar</packaging>
99

1010
<name>LinearRegressionExample</name>

examples/naive-bayes/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.intel.oap</groupId>
66
<artifactId>oap-mllib-examples</artifactId>
7-
<version>1.3.0</version>
7+
<version>1.3.1</version>
88
<packaging>jar</packaging>
99

1010
<name>NaiveBayesExample</name>

examples/pca/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.intel.oap</groupId>
66
<artifactId>oap-mllib-examples</artifactId>
7-
<version>1.3.0</version>
7+
<version>1.3.1</version>
88
<packaging>jar</packaging>
99

1010
<name>PCAExample</name>

examples/summarizer/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.intel.oap</groupId>
66
<artifactId>oap-mllib-examples</artifactId>
7-
<version>1.3.0</version>
7+
<version>1.3.1</version>
88
<packaging>jar</packaging>
99

1010
<name>SummaryStatisticsExample</name>

mllib-dal/build.sh

+9-1
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,15 @@ echo DAALROOT=$DAALROOT
128128
echo TBBROOT=$TBBROOT
129129
echo CCL_ROOT=$CCL_ROOT
130130
echo Maven Version: $(mvn -v | head -n 1 | cut -f3 -d" ")
131-
echo Clang Version: $(clang -dumpversion)
131+
132+
if [[ $PLATFORM_PROFILE == CPU_ONLY_PROFILE ]]
133+
then
134+
echo GCC Version: $(gcc -dumpversion)
135+
elif [[ $PLATFORM_PROFILE == CPU_GPU_PROFILE ]]
136+
then
137+
echo DPCPP Version: $(dpcpp -dumpversion)
138+
fi
139+
132140
echo Spark Version: $SPARK_VERSION
133141
echo Platform Profile: $PLATFORM_PROFILE
134142
echo =============================

mllib-dal/pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.intel.oap</groupId>
66
<artifactId>oap-mllib</artifactId>
7-
<version>1.3.0</version>
7+
<version>1.3.1</version>
88
<name>OAP Project OAP MLlib</name>
99
<packaging>jar</packaging>
1010
<url>https://github.com/oap-project/oap-mllib.git</url>
@@ -17,7 +17,7 @@
1717
<scala.binary.version>2.12</scala.binary.version>
1818
<scalatest.version>3.2.9</scalatest.version>
1919
<spark.version>3.2.0</spark.version>
20-
<dal.version>2021.4.0.83</dal.version>
20+
<dal.version>2021.5.0.91</dal.version>
2121
<assembly.description>src/assembly/assembly.xml</assembly.description>
2222
</properties>
2323

mllib-dal/src/main/native/Makefile

+11-4
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,15 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
CC := clang
16-
CXX := clang++
15+
# Use gcc for CPU and dpcpp for GPU
16+
ifeq ($(PLATFORM_PROFILE),CPU_ONLY_PROFILE)
17+
CC := gcc
18+
CXX := g++
19+
else ifeq ($(PLATFORM_PROFILE),CPU_GPU_PROFILE)
20+
CC := dpcpp
21+
CXX := dpcpp
22+
endif
23+
1724
RM := rm -rf
1825

1926
PLATFORM_PROFILE ?= CPU_ONLY_PROFILE
@@ -35,13 +42,13 @@ endif
3542

3643
INCS := -I $(JAVA_HOME)/include \
3744
-I $(JAVA_HOME)/include/linux \
38-
-I $(CCL_ROOT)/include/cpu_icc \
45+
-I $(CCL_ROOT)/include/cpu \
3946
-I $(DAALROOT)/include \
4047
-I ./javah \
4148
-I ./
4249

4350
# Use static link if possible, TBB is only available as dynamic libs
44-
LIBS_COMMON := -L$(CCL_ROOT)/lib/cpu_icc -lccl \
51+
LIBS_COMMON := -L$(CCL_ROOT)/lib/cpu -lccl \
4552
-L$(CMPLR_ROOT)/linux/compiler/lib/intel64_lin -l:libirc.a \
4653
-L$(DAALROOT)/lib/intel64 -l:libonedal_core.a -l:libonedal_thread.a \
4754
-L$(TBBROOT)/lib/intel64/gcc4.8 -ltbb -ltbbmalloc

0 commit comments

Comments
 (0)