Skip to content

Commit

Permalink
DML release v0.1.5-beta
Browse files Browse the repository at this point in the history
  • Loading branch information
Smirnov1gor committed Nov 23, 2021
1 parent 46d09f6 commit 69fbcfb
Show file tree
Hide file tree
Showing 135 changed files with 4,380 additions and 9,908 deletions.
30 changes: 3 additions & 27 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#

cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
project(Dml VERSION 0.1.4 LANGUAGES C CXX)
project(Dml VERSION 0.1.5 LANGUAGES C CXX)

set(PROJECT_SOVERSION 0)

Expand All @@ -29,35 +29,9 @@ endif()

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

if (SANITIZE_MEMORY)
message(STATUS "Memory sanitizing build is enabled")

if (WIN32)
message(FATAL_ERROR "Memory sanitizing is not supported in Windows")
else ()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fsanitize=leak -g")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fsanitize=leak -g")
endif ()
endif ()

if (SANITIZE_THREADS)
message(STATUS "Threads sanitizing build is enabled")

if (WIN32)
message(FATAL_ERROR "Threads sanitizing is not supported in Windows")
else ()
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread -g")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread -g")
endif ()
endif ()

include(cmake/CompileOptions.cmake)
include(cmake/utils.cmake)
include(CMakePackageConfigHelpers)
Expand Down Expand Up @@ -93,6 +67,8 @@ endif()
get_git_revision()

add_subdirectory(sources)

# Testing
add_subdirectory(examples)

# Install rules
Expand Down
2 changes: 1 addition & 1 deletion Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ PROJECT_NAME = "Intel DML Library"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = "v0.1.4-beta"
PROJECT_NUMBER = "v0.1.5-beta"

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
4 changes: 2 additions & 2 deletions doc/DML_REFERENCE_MANUAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,8 @@ Hardware path is required to set up environment to utilize Intel DSA accelerator

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

- Hardware path requirements:
- Minimal: CPU with Intel® DSA (Sapphire Rapids and higher).
Expand Down
4 changes: 2 additions & 2 deletions doc/LOW_LEVEL_API_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,8 @@ You can read more about the flags in our docs


A complete description of the job structure fields can be found in Section (N).
| Field Name | Description |
| ------------------------- | ---------------------- | ------------------------------------------------------------------------------------ |
| Field Name | Description |
| ------------------------- |------------------------------------------------------------------------------------ |
| `source_first_ptr` | The starting point of the input data.|
| `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.|
| `source_second_ptr` | The starting point of the input data in case if the second buffer is required (length is described with `source_length`).|
Expand Down
18 changes: 17 additions & 1 deletion doc/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,22 @@
Intel® Data Mover Library (Intel® DML) Release Notes
===============================================================================

### Intel® DML v0.1.5-beta

**Date: November 2021**

**Note**: Release introduces unification of underlying implementation for both C and C++ APIs

**Features**:
* Added internal device selection logic to C API (the same as for C++ API)
* Selector considers submitting thread's NUMA node id
* Selector switches devices and work queues with each submission
* Improved range checking for C and C++ APIs

**Bug fix**:
* Lowered memory size requirements for job structure by ~100x.


### Intel® DML v0.1.4-beta

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

**Warnings**:
Expand Down
26 changes: 25 additions & 1 deletion examples/dml_job_api/job_wrapper_examples.c
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ dml_status_t dml_copy_batch_8u(uint8_t *source_first_ptr,
dml_job_t *const dml_job_ptr)
{
dml_status_t status = DML_STATUS_OK;
uint32_t operations_count = 2u;
uint32_t operations_count = 4u;
uint32_t batch_buffer_length = 0u;

status = dml_get_batch_size(dml_job_ptr, operations_count, &batch_buffer_length);
Expand Down Expand Up @@ -470,6 +470,30 @@ dml_status_t dml_copy_batch_8u(uint8_t *source_first_ptr,
return status;
}

status = dml_batch_set_mem_move_by_index(dml_job_ptr,
2u,
source_second_ptr,
destination_second_ptr,
second_length,
0u);
if (DML_STATUS_OK != status)
{
free(batch_buffer_ptr);
return status;
}

status = dml_batch_set_mem_move_by_index(dml_job_ptr,
3u,
source_second_ptr,
destination_second_ptr,
second_length,
0u);
if (DML_STATUS_OK != status)
{
free(batch_buffer_ptr);
return status;
}

status = dml_execute_job(dml_job_ptr);

free(batch_buffer_ptr);
Expand Down
Loading

0 comments on commit 69fbcfb

Please sign in to comment.