Skip to content

Commit 143d0d9

Browse files
authored
Introduce new Gmmlib tagging scheme (#87)
1 parent 0d9b173 commit 143d0d9

File tree

2 files changed

+66
-11
lines changed

2 files changed

+66
-11
lines changed

README.rst

100755100644
Lines changed: 46 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,36 @@ https://opensource.org/licenses/MIT
2121

2222
Building
2323
========
24-
25-
1) Get gmmlib repo
26-
27-
|- gmmlib
24+
1) Get gmmlib repository
2825

2926
2) Change it to root directory
3027

31-
$ cd gmmlib
28+
``$ cd gmmlib``
29+
30+
3) Make a build directory
31+
32+
``$ mkdir build && cd build``
3233

33-
3) $ mkdir build && cd build
34+
4) Run the cmake command to prepare build files
3435

35-
4) cmake [-DCMAKE_BUILD_TYPE= Release | Debug | ReleaseInternal] [-DARCH= 64 | 32] ..
36+
``$ cmake [-DCMAKE_BUILD_TYPE= Release | Debug | ReleaseInternal] [-DARCH= 64 | 32] ..``
3637

37-
5) $ make -j8 ( Also performs compile time ULT)
38+
5) Build the project
3839

40+
``$ make -j"$(nproc)" (Also performs compile time ULT)``
3941

4042
Install
41-
^^^^^^^
43+
=======
44+
``$ sudo make install``
45+
46+
This will install the following files (e.g. on Ubuntu):
47+
48+
| -- Install configuration: "Release"
49+
| -- Installing: /usr/local/lib/libigdgmm.so.12.1.0
50+
| -- Installing: /usr/local/lib/libigdgmm.so.12
51+
|
52+
53+
4254
Not a stand alone software component.
4355
GmmLib is built as dynamic library for Intel media driver and Compute runtime for OpenCL
4456

@@ -70,9 +82,32 @@ XE_HPC (PVC: Ponte Vecchio)
7082

7183
XE_HPG (DG2, ACM: Alchemist)
7284

85+
Release Tags
86+
============
87+
88+
Gmmlib Release tag versioning schema follows:
89+
90+
| Tag ``intel-gmmlib-<x>.<y>.<z>`` will be stable release series with the same API and ABI version with only bug fixes where,
91+
| x = GMMLIB_API_MAJOR_VERSION + 10,
92+
| y = GMMLIB_API_MINOR_VERSION,
93+
| z = RELEASE NUMBER which is incremented as 0,1,2,...n for changes including new flag, bug fixes, etc.
94+
|
95+
| Example:
96+
| For GMM library ``libigdgmm.so.12.0.0``,
97+
| Tag = ``intel-gmmlib-22.0.0`` where,
98+
| 22 = GMMLIB_API_MAJOR_VERSION + 10 = 12 + 10
99+
| 0 = GMMLIB_API_MINOR_VERSION
100+
| 0 = RELEASE NUMBER
101+
|
102+
On potential ABI break changes,
103+
104+
| Tag ``intel-gmmlib-<x>.<y>.<z>`` becomes ``intel-gmmlib-<x + 1>.0.0``
105+
| i.e ``intel-gmmlib-22.5.3`` becomes ``intel-gmmlib-23.0.0``
106+
73107
Known Issues and Limitations
74-
----------------------------
75-
- Current Gmmlib support only limited to Linux
108+
============================
109+
Current Gmmlib support only limited to Linux
76110

77111
(*) Other names and brands may be claimed as property of others.
78112
---------------------------------------------------------------
113+

Source/GmmLib/CMakeLists.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,26 @@ if(NOT DEFINED GMMLIB_API_PATCH_VERSION)
4343
set(GMMLIB_API_PATCH_VERSION ${PATCH_VERSION})
4444
endif()
4545

46+
# The Gmmlib dll is generated as libigdgmm.so.<x>.<y>.<z> where,
47+
# <x> = GMMLIB_API_MAJOR_VERSION
48+
# <y> = GMMLIB_API_MINOR_VERSION
49+
# <z> = GMMLIB_API_PATCH_VERSION
50+
#
51+
# Example: libigdgmm.so.12.0.0
52+
# 12 = GMMLIB_API_MAJOR_VERSION
53+
# 0 = GMMLIB_API_MINOR_VERSION
54+
# 0 = GMMLIB_API_PATCH_VERSION
55+
#
56+
# Library version update
57+
# - increment major for any ABI change
58+
# - increment minor for any interface change (e.g. new/modified function)
59+
#
60+
# Example:
61+
# On potential ABI break changes
62+
#
63+
# libigdgmm.so.<GMMLIB_API_MAJOR_VERSION>.y.z becomes libigdgmm.so.<GMMLIB_API_MAJOR_VERSION + 1>.0.0
64+
# i.e libigdgmm.so.12.5.0 becomes libigdgmm.so.13.0.0
65+
4666
message(STATUS "API version: ${GMMLIB_API_MAJOR_VERSION}.${GMMLIB_API_MINOR_VERSION}.${GMMLIB_API_PATCH_VERSION}")
4767
message(STATUS "Package version: ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}")
4868

0 commit comments

Comments
 (0)