当前位置: 首页 > 专利查询>南京大学专利>正文

基于非易失性存储器阵列的复数点乘运算的方法及系统技术方案

技术编号:32823489 阅读:18 留言:0更新日期:2022-03-26 20:22
本发明专利技术公开了一种基于非易失性存储器阵列的复数点乘运算的方法,包括以下步骤:(1)n维复数输入向量x转化为2n维实数向量X;(2)m*n维的复数输入矩阵h转化为2m*2n维的实数矩阵H;(3)根据矩阵H设计存内计算硬件阵列;(4)在阵列上实现矩阵向量点乘运算;(5)将2m维实数输出向量Y转化为m维复数向量y。本发明专利技术还公开一种基于非易失性存储器阵列的复数点乘运算的系统。本发明专利技术基于存内计算硬件阵列完成了复数域上任意维的并行矩阵向量点乘运算,成功地将矩阵向量点乘运算从实数域推广到了复数域上,扩大了其适用范围,且这种方法具有普适性。且这种方法具有普适性。且这种方法具有普适性。

【技术实现步骤摘要】
基于非易失性存储器阵列的复数点乘运算的方法及系统


[0001]本专利技术涉及一种存内计算,尤其涉及一种基于非易失性存储器阵列的复数点乘运算的方法及系统。

技术介绍

[0002]随着社会对算力需求的剧增,现有的计算架构遭遇功耗墙、性能墙、内存墙、摩尔定律趋缓等挑战,迫切需要计算架构的创新,解决路径主要体现在两点:突破计算架构和打破存储墙,而存内计算就是一种属于打破存储墙的技术。
[0003]传统的冯诺伊曼架构是计算机的经典架构,同时也是目前计算机以及处理器芯片的主流架构。在冯诺伊曼架构中,计算(处理)单元和内存完全分离,在计算过程中,计算单元根据指令从内存中读取数据,在计算单元中完成计算,结果再存回内存。而存内计算与传统的冯诺伊曼架构的主要不同就是把计算嵌入到内存里面去,内存同时担任计算和存储的任务,在存储/读取数据的同时完成运算。存内计算的集成度高、功耗低等特性使其有望成为未来嵌入式人工智能(如智能IoT)的重要基础技术。
[0004]利用现有的存内计算技术进行矩阵向量点乘运算,无论是向量还是矩阵,都属于实数域范畴,所以现有的存内计算技术不具备在复数域上进行并行矩阵向量点乘运算的能力,这一完备性的缺失大大限制了存内计算技术的适用范围和应用场景。

技术实现思路

[0005]专利技术目的:本专利技术旨在提供一种基于非易失性存储器阵列的复数点乘运算的方法及系统,解决无法在复数域上实现并行矩阵向量点乘运算的问题。
[0006]技术方案:本专利技术所述的基于非易失性存储器阵列的复数点乘运算的方法,包括以下步骤:
[0007](1)n维复数输入向量x转化为2n维实数向量X;
[0008](2)m*n维的复数输入矩阵h转化为2m*2n维的实数矩阵H;
[0009](3)根据矩阵H设计存内计算硬件阵列;
[0010](4)在阵列上实现矩阵向量点乘运算;
[0011](5)将2m维实数输出向量Y转化为m维复数输出向量y。
[0012]步骤(1)中包括以下步骤:
[0013](11)令输入向量x的第a个复数向量元x
a
=x
ar
+jx
ai

[0014]其中,x
ar
为x
a
的实部,x
ai
为x
a
的虚部,j为虚数单位,从1到n遍历a;
[0015](12)将x
ar
作为实数向量X的第2a

1个向量元X
2a
‑1,将x
ai
作为实数向量X的第2a个向量元X
2a

[0016]步骤(2)中包括以下步骤:
[0017](21)令m*n维的复数输入矩阵h的每个复数矩阵元h
bc
=h
bcr
+jh
bci

[0018]其中,h
bc
表示矩阵h第b行第c列的矩阵元,h
bcr
为h
bc
的实部,h
bci
为h
bc
的虚部,j为虚
数单位;从1到m遍历b,从1到n遍历c;
[0019](22)将h
bcr
作为矩阵H第2b

1行第2c

1列的矩阵元H
2b

1,2c
‑1和第2b行第2c列的矩阵元H
2b,2c
,将h
bci
作为矩阵H第2b行第2c

1列的矩阵元H
2b,2c
‑1,将

h
bci
作为矩阵H第2b

1行第2c列的矩阵元H
2b

1,2c

[0020]步骤(3)中包括以下步骤:
[0021](31)矩阵H取转置得到决定阵列结构的矩阵G,即G=H
T

[0022](32)由2n*2m个存储器单元构成2n行2m列的阵列,其中第d行第e列的存储器单元的电导由矩阵G的矩阵元G
de
决定,其中G
de
表示矩阵G第d行第e列的矩阵元;从1到2n遍历d,从1到2m遍历e。
[0023]步骤(4)中包括以下步骤:
[0024](41)令阵列第g行输入等于2n维实数输入向量X的第g个向量元X
g
大小的电压;从1到2n遍历g;
[0025](42)获得第k列电流大小作为2m维实数输出向量Y的第k个向量元Y
k
,从1到2m遍历k。
[0026]步骤(5)中将2m维实数输出向量Y的第2f

1个向量元记为Y
fr
,第2f个向量元记为Y
fi
,用Y的第2f

1个实数向量元Y
fr
和第2f个实数向量元Y
fi
组合成一个复数y
f
=Y
fr
+jY
fi

[0027]其中,Y
fr
为y
f
的实部,Y
fi
为y
f
的虚部,j为虚数单位;然后将y
f
作为复数输出向量y的第f个向量元,从1到m遍历f。
[0028]本专利技术所述的基于非易失性存储器阵列的复数点乘运算的系统,包括输入向量转化单元、输入矩阵转化单元、存内计算阵列单元、点乘运算单元和输出向量转化单元;
[0029]所述输入向量转化单元将n维复数输入向量x转化为2n维实数向量X;所述输入矩阵转化单元将m*n维的复数输入矩阵h转化为2m*2n维的实数矩阵H;所述存内计算阵列单元根据矩阵H设计;所述点乘运算单元在阵列上实现X和H矩阵向量点乘运算,获得2m维实数输出向量Y;所述输出向量转化单元将2m维实数输出向量Y转化为m维复数输出向量y。
[0030]所述存内计算阵列单元为非易失性存储器阵列,所述阵列结构矩阵G等于矩阵H的转置,即G=H
T

[0031]所述输入向量转换单元包括可编程多通道信号源,对所述信号源编程,当计算机输入n维复数向量x时,信号源并行输出2n路直流电压,第2k

1路电压的大小等于x
kr
,第2k路电压大小等于x
ki
,从1到n遍历k;第k路的直流电压作为存内计算硬件阵列第k行的输入电压。
[0032]所述输出向量转换单元包括可编程多通道示波器,对所述示波器编程,当示波器接收到2m路直流电流后,在计算机上输出一m维复数向量y。
[0033]有益效果:与现有技术相比,本专利技术具有如下显著优点:基于存内计算硬件阵列完成了复数域上任意维的并行矩阵向量点乘运算,成功地将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于非易失性存储器阵列的复数点乘运算的方法,其特征在于:包括以下步骤:(1)n维复数输入向量x转化为2n维实数向量X;(2)m*n维的复数输入矩阵h转化为2m*2n维的实数矩阵H;(3)根据矩阵H设计存内计算硬件阵列;(4)在存内计算硬件阵列上实现矩阵向量点乘运算;(5)将2m维实数输出向量Y转化为m维复数向量y。2.根据权利要求1所述的基于非易失性存储器阵列的复数点乘运算的方法,其特征在于:步骤(1)中包括以下步骤:(11)令输入向量x的第a个复数向量元x
a
=x
ar
+jx
ai
,其中,x
ar
为x
a
的实部,x
ai
为x
a
的虚部,j为虚数单位,从1到n遍历a;(12)将x
ar
作为实数向量X的第2a

1个向量元X
2a
‑1,将x
ai
作为实数向量X的第2a个向量元X
2a
。3.根据权利要求1所述的基于非易失性存储器阵列的复数点乘运算的方法,其特征在于:步骤(2)中包括以下步骤:(21)令m*n维的复数输入矩阵h的每个复数矩阵元h
bc
=h
bcr
+jh
bci
,其中,h
bc
表示矩阵h第b行第c列的矩阵元,h
bcr
为h
bc
的实部,h
bci
为h
bc
的虚部,j为虚数单位;从1到m遍历b,从1到n遍历c;(22)将h
bcr
作为矩阵H第2b

1行第2c

1列的矩阵元H
2b

1,2c
‑1和第2b行第2c列的矩阵元H
2b,2c
,将h
bci
作为矩阵H第2b行第2c

1列的矩阵元H
2b,2c
‑1,将

h
bci
作为矩阵H第2b

1行第2c列的矩阵元H
2b

1,2c
。4.根据权利要求1所述的基于非易失性存储器阵列的复数点乘运算的方法,其特征在于:步骤(3)中包括以下步骤:(31)矩阵H取转置得到决定阵列结构的矩阵G,即G=H
T
;(32)由2n*2m个存储器单元构成2n行2m列的阵列,其中第d行第e列的存储器单元的电导由矩阵G的矩阵元G
de
...

【专利技术属性】
技术研发人员:缪峰梁世军王聪阮恭杰
申请(专利权)人:南京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1