From f2e1e680aed7a8d8fec478a1e7f15a5562f0da08 Mon Sep 17 00:00:00 2001
From: GitHub Action
Date: Fri, 25 Oct 2024 06:45:36 +0000
Subject: [PATCH] Update Sphinx Documentation
---
_sources/advanced/oneapi.rst.txt | 35 +
.../hls4ml.backends.catapult.passes.rst.txt | 8 +
.../hls4ml.backends.fpga.passes.rst.txt | 8 -
.../hls4ml.backends.oneapi.passes.rst.txt | 125 ++
.../autodoc/hls4ml.backends.oneapi.rst.txt | 45 +
.../hls4ml.backends.quartus.passes.rst.txt | 8 +
_sources/autodoc/hls4ml.backends.rst.txt | 1 +
.../hls4ml.backends.vivado.passes.rst.txt | 8 +
_sources/autodoc/hls4ml.writer.rst.txt | 8 +
_sources/index.rst.txt | 1 +
advanced/accelerator.html | 5 +-
advanced/extension.html | 5 +-
advanced/fifo_depth.html | 1 +
advanced/model_optimization.html | 1 +
advanced/oneapi.html | 172 +++
api/configuration.html | 1 +
api/hls-model.html | 1 +
api/profiling.html | 1 +
autodoc/hls4ml.backends.catapult.html | 23 +
autodoc/hls4ml.backends.catapult.passes.html | 95 ++
autodoc/hls4ml.backends.fpga.html | 23 +-
autodoc/hls4ml.backends.fpga.passes.html | 99 +-
autodoc/hls4ml.backends.html | 152 +-
autodoc/hls4ml.backends.oneapi.html | 927 +++++++++++++
autodoc/hls4ml.backends.oneapi.passes.html | 1235 +++++++++++++++++
autodoc/hls4ml.backends.quartus.html | 27 +-
autodoc/hls4ml.backends.quartus.passes.html | 95 ++
autodoc/hls4ml.backends.symbolic.html | 1 +
autodoc/hls4ml.backends.symbolic.passes.html | 1 +
autodoc/hls4ml.backends.vitis.html | 1 +
autodoc/hls4ml.backends.vitis.passes.html | 1 +
autodoc/hls4ml.backends.vivado.html | 23 +
autodoc/hls4ml.backends.vivado.passes.html | 95 ++
.../hls4ml.backends.vivado_accelerator.html | 1 +
...ml.backends.vivado_accelerator.passes.html | 1 +
autodoc/hls4ml.converters.html | 1 +
autodoc/hls4ml.converters.keras.html | 1 +
autodoc/hls4ml.converters.onnx.html | 1 +
autodoc/hls4ml.converters.pytorch.html | 1 +
autodoc/hls4ml.html | 33 +
autodoc/hls4ml.model.flow.html | 1 +
autodoc/hls4ml.model.html | 1 +
autodoc/hls4ml.model.optimizer.html | 1 +
autodoc/hls4ml.model.optimizer.passes.html | 1 +
...hls4ml.optimization.dsp_aware_pruning.html | 1 +
....optimization.dsp_aware_pruning.keras.html | 1 +
...mization.dsp_aware_pruning.objectives.html | 1 +
autodoc/hls4ml.optimization.html | 1 +
autodoc/hls4ml.report.html | 1 +
autodoc/hls4ml.utils.html | 22 +-
autodoc/hls4ml.writer.html | 179 +++
command.html | 1 +
concepts.html | 1 +
details.html | 1 +
flows.html | 1 +
genindex.html | 895 +++++++++++-
index.html | 1 +
objects.inv | Bin 14851 -> 16882 bytes
py-modindex.html | 121 +-
reference.html | 1 +
release_notes.html | 1 +
search.html | 1 +
searchindex.js | 2 +-
setup.html | 1 +
status.html | 3 +-
65 files changed, 4307 insertions(+), 204 deletions(-)
create mode 100644 _sources/advanced/oneapi.rst.txt
create mode 100644 _sources/autodoc/hls4ml.backends.oneapi.passes.rst.txt
create mode 100644 _sources/autodoc/hls4ml.backends.oneapi.rst.txt
create mode 100644 advanced/oneapi.html
create mode 100644 autodoc/hls4ml.backends.oneapi.html
create mode 100644 autodoc/hls4ml.backends.oneapi.passes.html
diff --git a/_sources/advanced/oneapi.rst.txt b/_sources/advanced/oneapi.rst.txt
new file mode 100644
index 0000000000..ae0e0bc56b
--- /dev/null
+++ b/_sources/advanced/oneapi.rst.txt
@@ -0,0 +1,35 @@
+==============
+oneAPI Backend
+==============
+
+The ``oneAPI`` backend of hls4ml is designed for deploying NNs on Intel/Altera FPGAs. It will eventually
+replace the ``Quartus`` backend, which should really have been called the Intel HLS backend. (The actual Quartus
+program continues to be used with IP produced by the ``oneAPI`` backend.)
+This section discusses details of the ``oneAPI`` backend.
+
+The ``oneAPI`` code uses SYCL kernels to implement the logic that is deployed on FPGAs. It naturally leads to the
+accelerator style of programming. In the IP Component flow, which is currently the only flow supported, the
+kernel becomes the IP, and the "host code" becomes the testbench. An accelerator flow, with easier deployment on
+PCIe accelerator boards, is planned to be added in the future.
+
+The produced work areas use cmake to build the projects in a style based
+`oneAPI-samples `_.
+The standard ``fpga_emu``, ``report``, ``fpga_sim``, and ``fpga`` are supported. Additionally, ``make lib``
+produces the library used for calling the ``predict`` function from hls4ml. The ``compile`` and ``build`` commands
+in hls4ml interact with the cmake system, so one does not need to manually use the build system, but it there
+if desired.
+
+The ``oneAPI`` backend, like the ``Quartus`` backend, only implements the ``Resource`` strategy for the layers. There
+is no ``Latency`` implementation of any of the layers.
+
+Note: currently tracing and external weights (i.e. setting BramFactor) are not supported.
+
+io_parallel and io_stream
+=========================
+
+As mentioned in the :ref:`I/O Types` section, ``io_parallel`` is for small models, while ``io_stream`` is for
+larger models. In ``oneAPI``, there is an additional difference: ``io_stream`` implements each layer on its
+own ``task_sequence``. Thus, the layers run in parallel, with pipes connecting the inputs and outputs. This
+is similar in style to the `dataflow` implementation on Vitis, but more explicit. On the other hand, ``io_parallel``
+always uses a single task, relying on pipelining within the task for good performance. In contrast, the Vitis
+backend sometimes uses dataflow with ``io_parallel``.
diff --git a/_sources/autodoc/hls4ml.backends.catapult.passes.rst.txt b/_sources/autodoc/hls4ml.backends.catapult.passes.rst.txt
index 534b58e241..a9179feb6a 100644
--- a/_sources/autodoc/hls4ml.backends.catapult.passes.rst.txt
+++ b/_sources/autodoc/hls4ml.backends.catapult.passes.rst.txt
@@ -4,6 +4,14 @@ hls4ml.backends.catapult.passes package
Submodules
----------
+hls4ml.backends.catapult.passes.bn\_quant module
+------------------------------------------------
+
+.. automodule:: hls4ml.backends.catapult.passes.bn_quant
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
hls4ml.backends.catapult.passes.broadcast\_stream module
--------------------------------------------------------
diff --git a/_sources/autodoc/hls4ml.backends.fpga.passes.rst.txt b/_sources/autodoc/hls4ml.backends.fpga.passes.rst.txt
index 0e4e650018..931a5d8120 100644
--- a/_sources/autodoc/hls4ml.backends.fpga.passes.rst.txt
+++ b/_sources/autodoc/hls4ml.backends.fpga.passes.rst.txt
@@ -4,14 +4,6 @@ hls4ml.backends.fpga.passes package
Submodules
----------
-hls4ml.backends.fpga.passes.bn\_quant module
---------------------------------------------
-
-.. automodule:: hls4ml.backends.fpga.passes.bn_quant
- :members:
- :undoc-members:
- :show-inheritance:
-
hls4ml.backends.fpga.passes.bram\_weights module
------------------------------------------------
diff --git a/_sources/autodoc/hls4ml.backends.oneapi.passes.rst.txt b/_sources/autodoc/hls4ml.backends.oneapi.passes.rst.txt
new file mode 100644
index 0000000000..050f24a627
--- /dev/null
+++ b/_sources/autodoc/hls4ml.backends.oneapi.passes.rst.txt
@@ -0,0 +1,125 @@
+hls4ml.backends.oneapi.passes package
+=====================================
+
+Submodules
+----------
+
+hls4ml.backends.oneapi.passes.bn\_quant module
+----------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.bn_quant
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.passes.clone\_templates module
+-----------------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.clone_templates
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.passes.convolution\_templates module
+-----------------------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.convolution_templates
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.passes.convolution\_winograd module
+----------------------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.convolution_winograd
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.passes.core\_templates module
+----------------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.core_templates
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.passes.embedding\_templates module
+---------------------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.embedding_templates
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.passes.merge\_templates module
+-----------------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.merge_templates
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.passes.pointwise module
+----------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.pointwise
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.passes.pooling\_templates module
+-------------------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.pooling_templates
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.passes.quantization\_templates module
+------------------------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.quantization_templates
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.passes.recurrent\_templates module
+---------------------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.recurrent_templates
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.passes.reshaping\_templates module
+---------------------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.reshaping_templates
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.passes.resource\_strategy module
+-------------------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.resource_strategy
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.passes.transform\_types module
+-----------------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.passes.transform_types
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Module contents
+---------------
+
+.. automodule:: hls4ml.backends.oneapi.passes
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/_sources/autodoc/hls4ml.backends.oneapi.rst.txt b/_sources/autodoc/hls4ml.backends.oneapi.rst.txt
new file mode 100644
index 0000000000..adf105375b
--- /dev/null
+++ b/_sources/autodoc/hls4ml.backends.oneapi.rst.txt
@@ -0,0 +1,45 @@
+hls4ml.backends.oneapi package
+==============================
+
+Subpackages
+-----------
+
+.. toctree::
+ :maxdepth: 4
+
+ hls4ml.backends.oneapi.passes
+
+Submodules
+----------
+
+hls4ml.backends.oneapi.oneapi\_backend module
+---------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.oneapi_backend
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.oneapi\_template module
+----------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.oneapi_template
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+hls4ml.backends.oneapi.oneapi\_types module
+-------------------------------------------
+
+.. automodule:: hls4ml.backends.oneapi.oneapi_types
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Module contents
+---------------
+
+.. automodule:: hls4ml.backends.oneapi
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/_sources/autodoc/hls4ml.backends.quartus.passes.rst.txt b/_sources/autodoc/hls4ml.backends.quartus.passes.rst.txt
index 5aaff184f5..0732e73453 100644
--- a/_sources/autodoc/hls4ml.backends.quartus.passes.rst.txt
+++ b/_sources/autodoc/hls4ml.backends.quartus.passes.rst.txt
@@ -4,6 +4,14 @@ hls4ml.backends.quartus.passes package
Submodules
----------
+hls4ml.backends.quartus.passes.bn\_quant module
+-----------------------------------------------
+
+.. automodule:: hls4ml.backends.quartus.passes.bn_quant
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
hls4ml.backends.quartus.passes.convolution\_templates module
------------------------------------------------------------
diff --git a/_sources/autodoc/hls4ml.backends.rst.txt b/_sources/autodoc/hls4ml.backends.rst.txt
index 56d01ac042..91b0c87808 100644
--- a/_sources/autodoc/hls4ml.backends.rst.txt
+++ b/_sources/autodoc/hls4ml.backends.rst.txt
@@ -9,6 +9,7 @@ Subpackages
hls4ml.backends.catapult
hls4ml.backends.fpga
+ hls4ml.backends.oneapi
hls4ml.backends.quartus
hls4ml.backends.symbolic
hls4ml.backends.vitis
diff --git a/_sources/autodoc/hls4ml.backends.vivado.passes.rst.txt b/_sources/autodoc/hls4ml.backends.vivado.passes.rst.txt
index 49f69ff54e..10bbb88908 100644
--- a/_sources/autodoc/hls4ml.backends.vivado.passes.rst.txt
+++ b/_sources/autodoc/hls4ml.backends.vivado.passes.rst.txt
@@ -4,6 +4,14 @@ hls4ml.backends.vivado.passes package
Submodules
----------
+hls4ml.backends.vivado.passes.bn\_quant module
+----------------------------------------------
+
+.. automodule:: hls4ml.backends.vivado.passes.bn_quant
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
hls4ml.backends.vivado.passes.broadcast\_stream module
------------------------------------------------------
diff --git a/_sources/autodoc/hls4ml.writer.rst.txt b/_sources/autodoc/hls4ml.writer.rst.txt
index 95c044f786..be4eecaf2b 100644
--- a/_sources/autodoc/hls4ml.writer.rst.txt
+++ b/_sources/autodoc/hls4ml.writer.rst.txt
@@ -12,6 +12,14 @@ hls4ml.writer.catapult\_writer module
:undoc-members:
:show-inheritance:
+hls4ml.writer.oneapi\_writer module
+-----------------------------------
+
+.. automodule:: hls4ml.writer.oneapi_writer
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
hls4ml.writer.quartus\_writer module
------------------------------------
diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt
index c21b90aebc..07fcd217db 100644
--- a/_sources/index.rst.txt
+++ b/_sources/index.rst.txt
@@ -24,6 +24,7 @@
advanced/fifo_depth
advanced/extension
+ advanced/oneapi
advanced/accelerator
advanced/model_optimization
diff --git a/advanced/accelerator.html b/advanced/accelerator.html
index d1a8a65d76..12e0f64696 100644
--- a/advanced/accelerator.html
+++ b/advanced/accelerator.html
@@ -22,7 +22,7 @@
-
+
@@ -66,6 +66,7 @@
@@ -287,7 +288,7 @@ Complete example Previous
- Next
+ Next
diff --git a/advanced/fifo_depth.html b/advanced/fifo_depth.html
index 4e0a5c47b5..47dcfcabc9 100644
--- a/advanced/fifo_depth.html
+++ b/advanced/fifo_depth.html
@@ -66,6 +66,7 @@
diff --git a/advanced/model_optimization.html b/advanced/model_optimization.html
index 6e1c856718..b43f373126 100644
--- a/advanced/model_optimization.html
+++ b/advanced/model_optimization.html
@@ -66,6 +66,7 @@
diff --git a/advanced/oneapi.html b/advanced/oneapi.html
new file mode 100644
index 0000000000..53d93716c5
--- /dev/null
+++ b/advanced/oneapi.html
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+ oneAPI Backend — hls4ml 0.8.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hls4ml
+
+
+
+
+
+
+
+
+
+oneAPI Backend
+The oneAPI
backend of hls4ml is designed for deploying NNs on Intel/Altera FPGAs. It will eventually
+replace the Quartus
backend, which should really have been called the Intel HLS backend. (The actual Quartus
+program continues to be used with IP produced by the oneAPI
backend.)
+This section discusses details of the oneAPI
backend.
+The oneAPI
code uses SYCL kernels to implement the logic that is deployed on FPGAs. It naturally leads to the
+accelerator style of programming. In the IP Component flow, which is currently the only flow supported, the
+kernel becomes the IP, and the “host code” becomes the testbench. An accelerator flow, with easier deployment on
+PCIe accelerator boards, is planned to be added in the future.
+The produced work areas use cmake to build the projects in a style based
+oneAPI-samples .
+The standard fpga_emu
, report
, fpga_sim
, and fpga
are supported. Additionally, make lib
+produces the library used for calling the predict
function from hls4ml. The compile
and build
commands
+in hls4ml interact with the cmake system, so one does not need to manually use the build system, but it there
+if desired.
+The oneAPI
backend, like the Quartus
backend, only implements the Resource
strategy for the layers. There
+is no Latency
implementation of any of the layers.
+Note: currently tracing and external weights (i.e. setting BramFactor) are not supported.
+
+io_parallel and io_stream
+As mentioned in the I/O Types section, io_parallel
is for small models, while io_stream
is for
+larger models. In oneAPI
, there is an additional difference: io_stream
implements each layer on its
+own task_sequence
. Thus, the layers run in parallel, with pipes connecting the inputs and outputs. This
+is similar in style to the dataflow implementation on Vitis, but more explicit. On the other hand, io_parallel
+always uses a single task, relying on pipelining within the task for good performance. In contrast, the Vitis
+backend sometimes uses dataflow with io_parallel
.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/api/configuration.html b/api/configuration.html
index 9811b45a30..719c1d5552 100644
--- a/api/configuration.html
+++ b/api/configuration.html
@@ -71,6 +71,7 @@
diff --git a/api/hls-model.html b/api/hls-model.html
index dd5e11862b..0830fdcffb 100644
--- a/api/hls-model.html
+++ b/api/hls-model.html
@@ -73,6 +73,7 @@
diff --git a/api/profiling.html b/api/profiling.html
index 3fccec4f85..8eda7987ff 100644
--- a/api/profiling.html
+++ b/api/profiling.html
@@ -66,6 +66,7 @@
diff --git a/autodoc/hls4ml.backends.catapult.html b/autodoc/hls4ml.backends.catapult.html
index 9729c043ba..d2e8d2b883 100644
--- a/autodoc/hls4ml.backends.catapult.html
+++ b/autodoc/hls4ml.backends.catapult.html
@@ -66,6 +66,7 @@
@@ -120,6 +121,28 @@
+
+
+
+
+
+
+hls4ml.utils.fixed_point_utils. next_pow2 ( x )
+Return the next bigger power of 2 of an integer
+
diff --git a/autodoc/hls4ml.writer.html b/autodoc/hls4ml.writer.html
index 1f80b327a1..4330836b2c 100644
--- a/autodoc/hls4ml.writer.html
+++ b/autodoc/hls4ml.writer.html
@@ -65,6 +65,7 @@
@@ -79,6 +80,7 @@
hls4ml.writer package