Skip to content

Commit

Permalink
AOCL-Utils 4.2 Release with all updates.
Browse files Browse the repository at this point in the history
  • Loading branch information
mopathan committed Mar 7, 2024
1 parent 9b6ffc6 commit 661527c
Show file tree
Hide file tree
Showing 19 changed files with 978 additions and 252 deletions.
5 changes: 5 additions & 0 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,8 @@ NOTES:
Change the command as follows:
cmake -A x64 -DCMAKE_BUILD_TYPE=RELEASE -B build -T LLVM
3. Few warnings are expected in Windows build with Clang.
4. If BUILD_SHARED_LIBS is OFF, then only static library binary is generated.
By default, BUILD_SHARED_LIBS is ON and both static, shared library binaries are generated.
Example: cmake -A x64 -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_SHARED_LIBS=OFF -B build -T ClangCl
5. Use -j option along with make/cmake build command to use multiple processes parallely to build the library.
Example:In linux, use "make -j" and in Windows, use "cmake --build ./build --config Release -j"
16 changes: 13 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ SET(CMAKE_STATIC_LIBRARY_PREFIX "lib")
SET(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
ENDIF()

SET(AOCL_RELEASE_VERSION "4.1.0")
SET(AOCL_RELEASE_VERSION "4.2.0")

STRING(TIMESTAMP AOCL_UTILS_RELEASE_VERSION_STRING "AOCL-Utils ${AOCL_RELEASE_VERSION} Build %Y%m%d")

Expand All @@ -49,6 +49,10 @@ SET(CMAKE_INSTALL_LIBDIR "lib")
OPTION(ALCI_DOCS "ENABLE DOCUMENTATION" ON)
OPTION(ALCI_DOXYGEN_DOC "ENABLE DOXYGEN DOCUMENTATION" OFF)

IF (NOT DEFINED BUILD_SHARED_LIBS)
OPTION(BUILD_SHARED_LIBS "Build shared library" ON)
ENDIF()

SET(CMAKE_DEBUG_POSTFIX _DEBUG)

ADD_SUBDIRECTORY(lib)
Expand Down Expand Up @@ -82,8 +86,14 @@ IF (ALCI_BENCH)
ENDIF()

# Add library install path

INSTALL(TARGETS aoclutils aoclutils_static)
IF (BUILD_SHARED_LIBS)
INSTALL(TARGETS
aoclutils
aoclutils_static)
ELSE()
INSTALL(TARGETS
aoclutils_static)
ENDIF()

INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/alci
TYPE INCLUDE
Expand Down
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,14 @@ Currently supported:
– RDSEED and RDRAND availability
– AVX2 availability
– AVX512 foundation and sub-feature flags
* APIs for cache topology
* APIs for cache topology:
- Cache size and line size
- Number of ways and sets
- Number of logical processors sharing cache
- Number of physical partitions
- Fully associative
- Self Initializing
- Cache Inclusive/Exclusive

## Dependency

Expand Down
40 changes: 19 additions & 21 deletions docs/doxygen/BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,23 +44,6 @@ $ export CXX=clang++

And follow the same above steps as per GCC build.

Enable testing:
---------------
This enables test suites present in library.
$ cmake .. -DALCI_TESTS=ON
$ make or make install
$ ./test_cAoclUtils ; which uses C wrappers of library.
or
$ ./test_cppAoclUtils ; which uses C++ implementation of library.

Enable examples:
----------------
This enables examples present in library.
$ cmake .. -DALCI_EXAMPLES=ON
$ make or make install

Note: examples section will be deleted once all test cases are implemented under tests (C/C++).

--------------
Windows build:
--------------
Expand All @@ -74,6 +57,20 @@ With Clang:
Static library binary: libaoclutils_static.lib
Shared/Dynamic library binary: libaoclutils.lib, libaoclutils.dll

----------------------------
Doxygen document generation:
----------------------------
Tools needed: Doxygen 1.9.6 or above
Include "-DALCI_DOXYGEN_DOC=ON" along with above commands during compilation.

Example:
cmake -A x64 -DCMAKE_BUILD_TYPE=RELEASE -B build -T ClangCl -DALCI_DOXYGEN_DOC=ON

After successful command execution, document will be generated in HTML format.
Open docs/doxygen/html/index.html in any browser to view documentation.

CMake will use the existing Doxygen if already installed. Else user need to install Doxygen and try again.

NOTES:
1. cmake flag "CMAKE_INSTALL_PREFIX" can be used to avoid lib installation into default path and to install in a user specified path.
cmake -A x64 -DCMAKE_BUILD_TYPE=RELEASE -B build -DCMAKE_INSTALL_PREFIX="custom_path" -T ClangCl
Expand All @@ -82,7 +79,8 @@ NOTES:
Change the command as follows:
cmake -A x64 -DCMAKE_BUILD_TYPE=RELEASE -B build -T LLVM
3. Few warnings are expected in Windows build with Clang.
4. In order to enable testing, need to add -DALCI_TESTS=ON along with cmake cmd above.
Example: cmake -A x64 -DCMAKE_BUILD_TYPE=RELEASE -DALCI_TESTS=ON -B build -T ClangCl
5. In order to enable examples, need to add -DALCI_EXAMPLES=ON along with cmake cmd above.
Example: cmake -A x64 -DCMAKE_BUILD_TYPE=RELEASE -DALCI_EXAMPLES=ON -B build -T ClangCl
4. If BUILD_SHARED_LIBS is OFF, then only static library binary is generated.
By default, BUILD_SHARED_LIBS is ON and both static, shared library binaries are generated.
Example: cmake -A x64 -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_SHARED_LIBS=OFF -B build -T ClangCl
5. Use -j option along with make/cmake build command to use multiple processes parallely to build the library.
Example:In linux, use "make -j" and in Windows, use "cmake --build ./build --config Release -j"
2 changes: 1 addition & 1 deletion docs/doxygen/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.

PROJECT_NAME = AOCL_Utils 4.1
PROJECT_NAME = AOCL_Utils 4.2

# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
Expand Down
23 changes: 17 additions & 6 deletions docs/doxygen/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,27 @@ Please refer to BUILD.md file for build instructions
Currently supported:

* ISA available/usable
* APIs for SHA,AES and VAES availability
* APIs for RDSEED and RDRND availability
* APIs for AVX2 availability
* APIs for AVX512 foundation and sub-feature flags
* API for cache topology
* API to check following features:
- SHA, AES, and VAES availability
- RDSEED and RDRAND availability
- AVX2 availability
- AVX512 foundation and sub-feature flags
* APIs for cache topology:
- Cache size and line size
- Number of ways and sets
- Number of logical processors sharing cache
- Number of physical partitions
- Fully associative
- Self Initializing
- Cache Inclusive/Exclusive

## Dependency

Need explicit linking of stdc++ library while using libaoclutils.a
Needs GCC/Clang compiler versions which supports C11 and C++17 standards.

## Important notes
Functions/members names may change in upcoming release of AOCL-Utils library.
Functions/members names may change in upcoming release of AOCL-Utils library.

## Contacts
AOCL-UTILS is developed and maintained by AMD. For any issues/suggestions you can contact us on the email-id [email protected]
2 changes: 1 addition & 1 deletion docs/doxygen/footer.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
<!-- start footer part -->
<div id="nav-path" class="navpath"> <!-- id is needed for treeview fuction! -->
<ul>
<li class="footer"> Copyright (C) 2023, Advanced Micro Devices</li>
<li class="footer"> Copyright (C) 2023-24, Advanced Micro Devices</li>
</ul>

</body>
Expand Down
Loading

0 comments on commit 661527c

Please sign in to comment.