Skip to content

Latest commit

 

History

History
36 lines (28 loc) · 4.3 KB

README.md

File metadata and controls

36 lines (28 loc) · 4.3 KB

Include for Shared Header Libraries

This directory contains utility header libraries optimized for SYCL*-compliant FPGA designs. Find usage examples in the ReferenceDesigns and Tutorials directories.

Available Header Libraries

Utilities

Filename Description Use case examples
constexpr_math.hpp Defines utilities for statically computing math functions (for example, Log2 and Pow2). ReferenceDesigns/merge_sort/
ReferenceDesigns/qrd
ReferenceDesigns/qri
memory_utils.hpp Generic functions for streaming data from memory to a SYCL pipe and vise versa. ReferenceDesigns/decompress/
metaprogramming_utils.hpp Defines various metaprogramming utilities (for example, generating a power of 2 sequence and checking if a type has a subscript operator). ReferenceDesigns/decompress/
include/unrolled_loop.hpp
onchip_memory_with_cache.hpp Class that contains an on-chip memory array with a register backed cache to achieve high performance read-modify-write loops. Tutorials/DesignPatterns/onchip_memory_cache/
ReferenceDesigns/decompress/
ReferenceDesigns/db/
pipe_utils.hpp Utility classes for working with pipes, such as PipeArray. Tutorials/DesignPatterns/pipe_array/
ReferenceDesigns/merge_sort/
ReferenceDesigns/gzip/
rom_base.hpp A generic base class to create ROMs in the FPGA using and initializer lambda or functor. ReferenceDesigns/anr/
tuple.hpp Defines a template to implement tuples. ReferenceDesigns/cholesky_inversion/
ReferenceDesigns/qri/
ReferenceDesigns/cholesky/
unrolled_loop.hpp Defines a templated implementation of unrolled loops. Tutorials/DesignPatterns/pipe_array/
ReferenceDesigns/cholesky/
ReferenceDesigns/anr/
exception_handler.hpp Defines an exception handler to catch SYCL asynchronous exceptions. All the samples use it

Linear Algebra

Filename Description Use case examples
streaming_cholesky.hpp Cholesky decomposition of matrices with pipe interfaces. ReferenceDesigns/cholesky
streaming_cholesky_inversion.hpp Cholesky-based inversion of matrices with pipe interfaces. ReferenceDesigns/cholesky_inversion
streaming_covariance_matrix.hpp Standardized covariance matrix computation using pipe interfaces. ReferenceDesigns/pca
streaming_eigen.hpp Eigen values and Eigen vectors computation of square matrices using pipe interfaces. ReferenceDesigns/pca
streaming_matmul.hpp Systolic-array-based matrix multiply with pipe interfaces. ReferenceDesigns/matmul
streaming_qrd.hpp QR decomposition of matrices with pipe interfaces. ReferenceDesigns/qrd
streaming_qri.hpp QR-based inversion of matrices with pipe interfaces. ReferenceDesigns/qri

License

Code samples are licensed under the MIT license. See License.txt for details.

Third-party program Licenses can be found here: third-party-programs.txt.