Skip to content

Commit

Permalink
Squashed 'solver' changes from d0d987d..8fbf3fc (#995)
Browse files Browse the repository at this point in the history
8fbf3fc add detail explaination on svd (#543)
0757518 create main branch from next branch

Co-authored-by: sdausr <sdausr@xilinx.com>
  • Loading branch information
2 people authored and GitHub Enterprise committed Dec 20, 2023
1 parent 0d9b2bc commit fe64280
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
6 changes: 3 additions & 3 deletions solver/Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@Library('pipeline-library')_

VitisLibPipeline (branch: 'next', libname: 'xf_solver', TARGETS: 'hls_csim:hls_csynth:hls_cosim:vitis_sw_emu:vitis_hw_emu:vitis_hw_build:vitis_aie_sim:vitis_aie_x86sim',
upstream_dependencies: 'xf_utils_hw,next,../utils;xf_dsp,next,../dsp',
devtest: 'RunDeploy.sh', TOOLVERSION: '2023.2_stable_latest', mail_on:'daily:PR')
VitisLibPipeline (branch: 'main', libname: 'xf_solver', TARGETS: 'hls_csim:hls_csynth:hls_cosim:vitis_sw_emu:vitis_hw_emu:vitis_hw_build:vitis_aie_sim:vitis_aie_x86sim',
upstream_dependencies: 'xf_utils_hw,main,../utils;xf_dsp,main,../dsp',
devtest: 'RunDeploy.sh', TOOLVERSION: '2023.2_released', mail_on:'daily:PR')
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Template Parameters
---------------------
* `column_num`: the number of columns;
* `row_num`: the number of rows;
* `k_rep`: the number of input matrix;
* `k_rep`: the number of input matrixs that are processed by one graph call.

To access more details, see :ref:`AIE APIs Overview`.

Expand Down
6 changes: 3 additions & 3 deletions solver/docs/src/guide_L2_AIE/MatrixDecomposition/svd/svd.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Singular value Decomposition
Introduction
==============

This function computes the Singular value decomposition of matrix :math:`A`
This function computes the Singular value decomposition of matrix :math:`A`. Current implementation takes one-sided Jacobi algorithm to solve. One-sided Jacobi is an iterative convergence algorithm, and each graph call will perform one "column-sweep" on a batch of input matrixs. To achieve desired precision, you need to store the output of one graph call and feed them as input to the graph again. Such "output-input" needs to be executed multiple times and the number of repetitions depends on precision requirements. Due to "one-way" through character of current implementation, it will need PL data-movers to servers as the mechanism to loop back last iteration's output into next iteration's input. We will release such PL data-movers in the future.

.. math::
A = U M V*
Expand All @@ -47,7 +47,7 @@ Template Parameters
---------------------
* `column_num`: the number of columns;
* `row_num`: the number of rows;
* `k_rep`: the number of input matrix;
* `k_rep`: Each graph call will perform one "column-sweep" on all `k_rep` input matrixs and make columns.

To access more details, see :ref:`AIE APIs Overview`.

Expand Down Expand Up @@ -79,7 +79,7 @@ Kernel Interfaces
.. note::

* To utilize bandwidth of input / output stream, the input matrix and output result are transfered in such way: Elem[N*4] and Elem[N*4+1] are transferred with in_0 / out_0, Elem[N*4 + 2] and Elem[N*4 + 3] are transferred with in_1 / out_1.
* To utilize bandwidth of input / output stream, the input matrix and output result are transfered in such way: Elem[N*4] and Elem[N*4+1] are transferred with in_0 / out_0, Elem[N*4 + 2] and Elem[N*4 + 3] are transferred with in_1 / out_1. Input matrix contains :math: `A[M*N]` and :math: `U[M*M]` (original input matrix and zero matrix as place holder if it's first graph call, or output matrix from last graph call) and comes in column-major order, like A[:,0], U[:,0], A[:,1], U[:,1], ect.


* Input:
Expand Down

0 comments on commit fe64280

Please sign in to comment.