Skip to content
This repository was archived by the owner on Apr 1, 2025. It is now read-only.

Commit 64ce5ff

Browse files
committed
DML release v0.1.6-beta
1 parent 69fbcfb commit 64ce5ff

File tree

177 files changed

+8742
-9531
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

177 files changed

+8742
-9531
lines changed

CMakeLists.txt

+2-4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#
1515

1616
cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
17-
project(Dml VERSION 0.1.5 LANGUAGES C CXX)
17+
project(Dml VERSION 0.1.6 LANGUAGES C CXX)
1818

1919
set(PROJECT_SOVERSION 0)
2020

@@ -28,7 +28,6 @@ else()
2828
endif()
2929

3030
# TODO: Remove all options below
31-
option(LIB_ACCEL_3_2 "Use libaccel-3.2" OFF)
3231
option(LOG_HW_INIT "Enables HW initialization log" OFF)
3332
option(EFFICIENT_WAIT "Enables usage of umonitor/umwait" OFF)
3433

@@ -61,14 +60,13 @@ message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
6160
# TODO: Remove when option is removed
6261
if (DML_HW)
6362
message(STATUS "HW path: ON")
63+
message(STATUS "Hardware initialization logging: ${LOG_HW_INIT}")
6464
endif()
6565

6666
# TODO: Remove
6767
get_git_revision()
6868

6969
add_subdirectory(sources)
70-
71-
# Testing
7270
add_subdirectory(examples)
7371

7472
# Install rules

CODEOWNERS

-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,3 @@
1212
# express or implied warranties, other than those that are expressly
1313
# stated in the License.
1414
#
15-
16-
# Repository Control Files
17-
18-

Doxyfile

+5-9
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ PROJECT_NAME = "Intel DML Library"
5353
# could be handy for archiving the generated documentation or if some version
5454
# control system is used.
5555

56-
PROJECT_NUMBER = "v0.1.5-beta"
56+
PROJECT_NUMBER = "v0.1.6-beta"
5757

5858
# Using the PROJECT_BRIEF tag one can provide an optional one line description
5959
# for a project that appears at the top of each page and should give viewer a
@@ -831,8 +831,9 @@ WARN_LOGFILE =
831831
# Note: If this tag is empty the current directory is searched.
832832

833833
INPUT = examples \
834-
sources \
835834
README.md \
835+
CONTRIBUTING.md \
836+
SECURITY.md \
836837
include \
837838
doc/LOW_LEVEL_API_GUIDE.md \
838839
doc/HIGH_LEVEL_API_GUIDE.md \
@@ -922,9 +923,7 @@ RECURSIVE = YES
922923
# Note that relative paths are relative to the directory from which doxygen is
923924
# run.
924925

925-
EXCLUDE = sources/hw-path/include/libaccel_config.h \
926-
include/dml/cpp/middle_layer/\
927-
sources/middle_layer/
926+
EXCLUDE = include/dml/detail
928927

929928
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
930929
# directories that are symbolic links (a Unix file system feature) are excluded
@@ -961,15 +960,12 @@ EXCLUDE_SYMBOLS = *_H__ \
961960
DML_CORE_CHECK_* \
962961
DML_BAD_* \
963962
DML_PACKED_STRUCT_DECLARATION* \
964-
TEST_REGISTER* \
965963
NULL \
966964
DML_FUN \
967965
OWN_API \
968966
OWN_FUN \
969967
OWN_API_INLINE \
970-
OWN_FUN_INLINE \
971-
DML_JOB_API_TEST_REGISTER \
972-
DML_UNIT_TEST_REGISTER
968+
OWN_FUN_INLINE
973969

974970
# The EXAMPLE_PATH tag can be used to specify one or more files or directories
975971
# that contain example code fragments that are included (see the \include

README.md

+4-9
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,6 @@ Note:
6868
cmake -DCMAKE_BUILD_TYPE=Release -DDML_HW=ON <path_to_cmake_folder>
6969
```
7070

71-
```shell
72-
# Enable libaccel-config-3.2 support for hardware path
73-
cmake -DCMAKE_BUILD_TYPE=Release -DDML_HW=ON -DLIB_ACCEL_3_2=ON <path_to_cmake_folder>
74-
```
75-
7671
- To enable `-frecord-gcc-switches` flag, use the DML_RECORD_SWITCHES option as follows:
7772

7873
```shell
@@ -85,7 +80,7 @@ The resulting library is available in the `<install_dir>/lib` folder.
8580
## Documentation
8681

8782
- [Intel DML Reference Manual](./doc/DML_REFERENCE_MANUAL.md)
88-
- [Security Policy](doc/SECURITY.md)
83+
- [Security Policy](./SECURITY.md)
8984

9085
To generate full documentation from sources with Doxygen, use the following commands:
9186

@@ -100,12 +95,12 @@ To open the generated HTML Reference, open the `<dml_library>/doc/html/index.htm
10095

10196
## How to Contribute
10297

103-
See [Contributing document](CONTRIBUTING.md) for details about contribution process.
98+
See [Contributing document](./CONTRIBUTING.md) for details about contribution process.
10499

105100
## License
106101

107102
The library is licensed under the MIT license. Refer to the
108-
"[LICENSE](LICENSE)" file for the full license text.
103+
"[LICENSE](./LICENSE)" file for the full license text.
109104

110105
This distribution includes third party software governed by separate license
111-
terms (see "[THIRD-PARTY-PROGRAMS](THIRD-PARTY-PROGRAMS)").
106+
terms (see "[THIRD-PARTY-PROGRAMS](./third-party-programs.txt)").

cmake/gnu.cmake

+5-2
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,13 @@ list(APPEND DML_SECURITY_DEFINITIONS
2626
$<$<CONFIG:RELEASE>:_FORTIFY_SOURCE=2>)
2727

2828
list(APPEND DML_QUALITY_OPTIONS
29-
$<$<BOOL:${DML_WERROR}>:-Werror>
3029
-Wall
3130
-Wextra
3231
-pedantic
3332
)
3433

35-
list(APPEND DML_AVX512_OPTIONS -march=skylake-avx512) # -mavx512dq -mavx512vl -mavx512bw -mclflushopt -mclwb
34+
list(APPEND DML_CPP_PRIVATE_OPTIONS
35+
-fno-exceptions
36+
-fno-rtti
37+
-fno-threadsafe-statics
38+
)

cmake/msvc.cmake

+2-5
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ list(APPEND DML_SECURITY_OPTIONS
1919

2020
list(APPEND DML_SECURITY_DEFINITIONS)
2121

22-
list(APPEND DML_QUALITY_OPTIONS
23-
$<$<BOOL:DML_WERROR>:/Wx>>
24-
#/Wall MSVC warning level can be set only via CMAKE_CXX_FLAGS
25-
)
22+
list(APPEND DML_QUALITY_OPTIONS /W3)
2623

27-
list(APPEND DML_AVX512_OPTIONS /arch:AVX512)
24+
list(APPEND DML_CPP_PRIVATE_OPTIONS)

doc/DML_REFERENCE_MANUAL.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -119,14 +119,14 @@ Hardware path is required to set up environment to utilize Intel DSA accelerator
119119

120120
### Build Prerequisites
121121
- Compiler:
122-
- Linux* OS: gcc 8.2 or higher
123-
- Windows* OS: MSVC 19 or higher
124-
- Libraries:
125-
- Linux: Universally Unique ID library: `uuid-dev` version 2.35.2 or higher.
122+
- Linux* OS: gcc 8.2 or higher
123+
- Windows* OS: MSVC 19 or higher
124+
- Libraries:
125+
- Linux: Universally Unique ID library: `uuid-dev` version 2.35.2 or higher.
126126
- Cross-platform build tool: CMake* version 3.12 or higher
127127
- Make: GNU 'make' (Linux* OS) or 'nmake' (Windows*)
128-
- Documentation generator:
129-
- Doxygen 1.8.17 or higher
128+
- Documentation generator:
129+
- Doxygen 1.8.17 or higher
130130

131131

132132

doc/RELEASE_NOTES.md

+25
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,31 @@
11
Intel® Data Mover Library (Intel® DML) Release Notes
22
===============================================================================
33

4+
### Intel® DML v0.1.6-beta
5+
6+
**Date: December 2021**
7+
8+
**Note**: Release introduces bug fixes and several minor improvements
9+
10+
**Features**:
11+
* Improved incorrect input checking
12+
* Added check for adjacent buffers for the DIF Strip operation. Status: `DML_STATUS_DIF_STRIP_ADJACENT_ERROR`
13+
* Reworked hardware related statuses for C API
14+
* Added new status to indicate submission failure:
15+
* `DML_STATUS_WORK_QUEUES_NOT_AVAILABLE` for C API
16+
* `dml::status_code::queue_busy` for C++ API
17+
* Removed LIBACCEL_3_2 cmake option. The supported version of accel-config is now 3.2 and higher
18+
* NUMA node id is detected before each submission now, so threads are safe to change nodes at any time
19+
20+
**Bug fix**:
21+
* Fixed the issue when batch operation doesn't work for buffer not aligned on 64 bytes boundary
22+
* Fixed the issue when current thread NUMA node id is deduced incorrectly
23+
* Fixed crashes when there are no available devices for the current thread NUMA node id
24+
* Removed dependencies on C++ runtime from C API
25+
26+
**Warnings**:
27+
* As NUMA node id of the current thread is now deduced correctly, ensure that accelerators' configuration is compatible. The library does no cross-socket submissions. If there is no available device for the current NUMA node id, then an error status code is reported.
28+
429
### Intel® DML v0.1.5-beta
530

631
**Date: November 2021**

examples/dml_job_api/job_wrapper_launchers.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,8 @@ dml_status_t dif_strip_sample_launcher(dml_job_t *const dml_job_ptr)
414414
DIF_SAMPLE_REFERENCE_ARRAY_SIZE,
415415
DIF_SAMPLE_BLOCK_SIZE);
416416

417-
uint8_t source_array[DIF_SAMPLE_REFERENCE_ARRAY_SIZE];
417+
// The same size used because of DML_STATUS_DIF_STRIP_ADJACENT_ERROR
418+
uint8_t source_array[DIF_SAMPLE_PROTECTED_ARRAY_SIZE];
418419
uint8_t destination_array[DIF_SAMPLE_PROTECTED_ARRAY_SIZE];
419420

420421
dml_status_t status = dml_dif_insert_8u(source_array,

include/dml/cpp/detail/make_result.hpp

-126
This file was deleted.

include/dml/cpp/middle_layer/awaiter.hpp

-52
This file was deleted.

0 commit comments

Comments
 (0)