选择一块HDL-Optimized定点矩阵运算
您可以使用定点设计师™HDL支持库块执行定点矩阵运算,生成高效的HDL代码。金宝app这些块模型设计模式为线性方程组和矩阵运算核心,例如QR分解和奇异值分解hardware-efficient fpga上的实现。介绍这些概念,看到分解和奇异值。
这个话题讨论了如何选择一个适当的块从定点设计师HDL支持库为您的应用程序。金宝app
定义要解决的问题
首先,定义您需要解决的数学问题和要使用的算法。
线性系统动力学
使用线性系统求解程序库的模块来解决这些线性方程组。
操作 | 块 | 描述 |
---|---|---|
一个x=B | 使用QR分解矩阵解决块 | 使用QR分解求解线性方程组一个x=B。来计算x=一个1,设置B单位矩阵。 |
一个”一个X=B | 使用Q-less QR分解矩阵解决块 | 解决线性方程组一个”一个X=B使用QR分解,没有计算问。 |
一个”一个X=B | 矩阵解决使用Q-less QR分解和遗忘因子块 | 解决线性方程组一个”一个X=B使用QR分解,没有计算问。一个是一个无限高代表流数据矩阵。 |
矩阵分解
使用矩阵分解块图书馆执行QR分解,也称为QR分解。
操作 | 块 | 描述 |
---|---|---|
QR分解 |
QR分解块 |
使用QR分解计算R和C=问”B,在那里问R=一个,在那里一个和B你的输入矩阵。的最小二乘解一个x=B是x=R\C。R是一个上三角矩阵和问是一个正交矩阵。来计算C=问”,设置B单位矩阵。 |
没有计算Q QR分解 |
Q-less QR分解块 |
使用Q-less QR分解计算经济规模上三角RQR分解的因素一个=问R,没有计算问。的解决方案一个”一个x=B是x=R\R“\b。 |
QR分解没有计算Q和无限的行数 |
Q-less QR分解与遗忘的因素块 |
使用Q-less QR分解计算经济规模上三角RQR分解的因素一个=问R,没有计算问。一个是一个无限高代表流数据矩阵。 |
奇异值分解 |
使用方雅可比圣言会计算一个方形矩阵的奇异值分解一个使用双面的雅可比算法。 |
选择一个架构
块的定点设计师HDL支持>矩阵和线性代数金宝app图书馆在破裂和partial-systolic实现。Partial-systolic实现优先级计算的速度在空间限制,而破裂为代价实现优先考虑空间约束的操作速度。下面的表说明了矩阵分解实现之间的权衡和解决线性方程组。
实现 | 准备好了 | 延迟 | 区域 |
---|---|---|---|
Partial-Systolic | C | O (米) | O (n2) |
破裂 | O (n) | O (锰2) | O (n) |
在哪里C是一个常数成正比的单词长度数据,米矩阵的行数一个,n矩阵的列数一个。
解决线性系统:选择同步或异步操作
的使用QR分解矩阵解决块同步操作。这些块分解输入一个和B矩阵为R和C使用QR分解块矩阵。然后,用块计算RX=C。输入一个和B并行矩阵传播通过系统,以同步的方式。
的使用Q-less QR分解矩阵解决块异步操作。首先,Q-less QR分解进行输入一个矩阵和由此产生的R矩阵是放到一个缓冲区。然后,向前向后替换块使用的输入B矩阵和缓冲R矩阵计算R”RX=B。因为R和B矩阵分别存储在缓冲区中,上游Q-less QR分解块和下游向前向后替代块可以独立运行。向前向后替代块开始处理当第一R和B矩阵是可用的。然后它运行不断使用最新的缓冲R和B矩阵,不管Q-less QR分解的状态。例如,如果上游块停止提供一个和B矩阵,向前向后替代块继续使用的最后一对生成相同的输出R和B矩阵。
的破裂(异步)矩阵解决使用Q-less QR分解块中可用的同步和异步操作变量,用块名称。
数据的复杂性
所有的块定点设计师HDL支持>矩阵和线性代数金宝app图书馆可以在现实和复杂的变体。选择物体的真实的或复杂的变体基于数据的复杂性。
硬件控制信号
重新启动信号
一些街区定点设计师HDL支持>矩阵和线性代数金宝app图书馆提供一个输入复位信号,清除内部状态。
安巴AXI握手过程
块的定点设计师HDL支持>矩阵和线性代数金宝app图书馆使用安巴AXI握手协议[1]。的有效/准备
握手过程是用来传输数据和控制信息。这种双向控制机制允许经理和下属控制速率信息管理者和下属之间移动。一个有效的
信号表明当数据是可用的。的准备好了
信号表示可以接受的数据块。数据传输发生只有当了有效的
和准备好了
信号是高。
引用
另请参阅
块
- 真正的破灭矩阵解决使用QR分解|真正Partial-Systolic矩阵解决使用Q-less QR分解|复杂的破裂Q-less QR分解整个R输出|复杂Partial-Systolic Q-less QR分解与遗忘的因素|方雅可比圣言HDL优化