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

Commit 69fbcfb

Browse files
committed
DML release v0.1.5-beta
1 parent 46d09f6 commit 69fbcfb

File tree

135 files changed

+4380
-9908
lines changed

Some content is hidden

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

135 files changed

+4380
-9908
lines changed

CMakeLists.txt

Lines changed: 3 additions & 27 deletions
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.4 LANGUAGES C CXX)
17+
project(Dml VERSION 0.1.5 LANGUAGES C CXX)
1818

1919
set(PROJECT_SOVERSION 0)
2020

@@ -29,35 +29,9 @@ endif()
2929

3030
# TODO: Remove all options below
3131
option(LIB_ACCEL_3_2 "Use libaccel-3.2" OFF)
32-
option(SANITIZE_MEMORY "Enables memory sanitizing" OFF)
33-
option(SANITIZE_THREADS "Enables threads sanitizing" OFF)
3432
option(LOG_HW_INIT "Enables HW initialization log" OFF)
3533
option(EFFICIENT_WAIT "Enables usage of umonitor/umwait" OFF)
3634

37-
if (SANITIZE_MEMORY)
38-
message(STATUS "Memory sanitizing build is enabled")
39-
40-
if (WIN32)
41-
message(FATAL_ERROR "Memory sanitizing is not supported in Windows")
42-
else ()
43-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fsanitize=leak -g")
44-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fsanitize=leak -g")
45-
endif ()
46-
endif ()
47-
48-
if (SANITIZE_THREADS)
49-
message(STATUS "Threads sanitizing build is enabled")
50-
51-
if (WIN32)
52-
message(FATAL_ERROR "Threads sanitizing is not supported in Windows")
53-
else ()
54-
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
55-
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
56-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread -g")
57-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread -g")
58-
endif ()
59-
endif ()
60-
6135
include(cmake/CompileOptions.cmake)
6236
include(cmake/utils.cmake)
6337
include(CMakePackageConfigHelpers)
@@ -93,6 +67,8 @@ endif()
9367
get_git_revision()
9468

9569
add_subdirectory(sources)
70+
71+
# Testing
9672
add_subdirectory(examples)
9773

9874
# Install rules

Doxyfile

Lines changed: 1 addition & 1 deletion
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.4-beta"
56+
PROJECT_NUMBER = "v0.1.5-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

doc/DML_REFERENCE_MANUAL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,8 @@ Hardware path is required to set up environment to utilize Intel DSA accelerator
107107

108108
### System Requirements
109109
- Software path requirements:
110-
- Minimal: x86-64 CPU with Intel® Advanced Vector Extensions 2 support (Intel® microarchitecture code name Broadwell) not optimized code.
111-
- Optimal: x86-64 CPU with Intel® Advanced Vector Extensions 512 (Intel® AVX-512) support (Intel® microarchitecture code name Skylake (Server) processor or higher).
110+
- Minimal: x86-64 CPU with Intel® Advanced Vector Extensions 2 support (Intel® microarchitecture code name Broadwell) for not optimized code.
111+
- Optimal: x86-64 CPU with Intel® Advanced Vector Extensions 512 support (Intel® microarchitecture code name Skylake (Server) processor or higher).
112112

113113
- Hardware path requirements:
114114
- Minimal: CPU with Intel® DSA (Sapphire Rapids and higher).

doc/LOW_LEVEL_API_GUIDE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ You can read more about the flags in our docs
148148

149149

150150
A complete description of the job structure fields can be found in Section (N).
151-
| Field Name | Description |
152-
| ------------------------- | ---------------------- | ------------------------------------------------------------------------------------ |
151+
| Field Name | Description |
152+
| ------------------------- |------------------------------------------------------------------------------------ |
153153
| `source_first_ptr` | The starting point of the input data.|
154154
| `source_length` | Length of the input data. On completion, the `source_length` field contains the number of bytes remained unprocessed in case of any library/HW issue, or it contains zero if everything is successful.|
155155
| `source_second_ptr` | The starting point of the input data in case if the second buffer is required (length is described with `source_length`).|

doc/RELEASE_NOTES.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
11
Intel® Data Mover Library (Intel® DML) Release Notes
22
===============================================================================
33

4+
### Intel® DML v0.1.5-beta
5+
6+
**Date: November 2021**
7+
8+
**Note**: Release introduces unification of underlying implementation for both C and C++ APIs
9+
10+
**Features**:
11+
* Added internal device selection logic to C API (the same as for C++ API)
12+
* Selector considers submitting thread's NUMA node id
13+
* Selector switches devices and work queues with each submission
14+
* Improved range checking for C and C++ APIs
15+
16+
**Bug fix**:
17+
* Lowered memory size requirements for job structure by ~100x.
18+
19+
420
### Intel® DML v0.1.4-beta
521

622
**Date: October 2021**
@@ -11,7 +27,7 @@ Intel® Data Mover Library (Intel® DML) Release Notes
1127
* Fixed crashes when C++ API was used without root permissions.
1228
* Fixed crashes when HW initialization failed.
1329
* Fixed documentation section about system requirements.
14-
* Fixed project install-paths. They are now follow GNU guidelines.
30+
* Fixed project install-paths. They are now following GNU guidelines.
1531
* Fixed wrong path for loading `libaccel-config.so` to `/usr/lib64/libaccel-config.so`.
1632

1733
**Warnings**:

examples/dml_job_api/job_wrapper_examples.c

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ dml_status_t dml_copy_batch_8u(uint8_t *source_first_ptr,
430430
dml_job_t *const dml_job_ptr)
431431
{
432432
dml_status_t status = DML_STATUS_OK;
433-
uint32_t operations_count = 2u;
433+
uint32_t operations_count = 4u;
434434
uint32_t batch_buffer_length = 0u;
435435

436436
status = dml_get_batch_size(dml_job_ptr, operations_count, &batch_buffer_length);
@@ -470,6 +470,30 @@ dml_status_t dml_copy_batch_8u(uint8_t *source_first_ptr,
470470
return status;
471471
}
472472

473+
status = dml_batch_set_mem_move_by_index(dml_job_ptr,
474+
2u,
475+
source_second_ptr,
476+
destination_second_ptr,
477+
second_length,
478+
0u);
479+
if (DML_STATUS_OK != status)
480+
{
481+
free(batch_buffer_ptr);
482+
return status;
483+
}
484+
485+
status = dml_batch_set_mem_move_by_index(dml_job_ptr,
486+
3u,
487+
source_second_ptr,
488+
destination_second_ptr,
489+
second_length,
490+
0u);
491+
if (DML_STATUS_OK != status)
492+
{
493+
free(batch_buffer_ptr);
494+
return status;
495+
}
496+
473497
status = dml_execute_job(dml_job_ptr);
474498

475499
free(batch_buffer_ptr);

0 commit comments

Comments
 (0)