CN113055125B - 面向gpu数据传输的低能耗分组编码方法 - Google Patents

面向gpu数据传输的低能耗分组编码方法 Download PDF

Info

Publication number
CN113055125B
CN113055125B CN202110254219.4A CN202110254219A CN113055125B CN 113055125 B CN113055125 B CN 113055125B CN 202110254219 A CN202110254219 A CN 202110254219A CN 113055125 B CN113055125 B CN 113055125B
Authority
CN
China
Prior art keywords
group
values
value
data
replaced
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN202110254219.4A
Other languages
English (en)
Other versions
CN113055125A (zh
Inventor
章铁飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Gongshang University
Original Assignee
Zhejiang Gongshang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Gongshang University filed Critical Zhejiang Gongshang University
Priority to CN202110254219.4A priority Critical patent/CN113055125B/zh
Priority to AU2021102878A priority patent/AU2021102878A4/en
Publication of CN113055125A publication Critical patent/CN113055125A/zh
Application granted granted Critical
Publication of CN113055125B publication Critical patent/CN113055125B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0016Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy involving special memory structures, e.g. look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables
    • H04L1/0044Realisations of complexity reduction techniques, e.g. use of look-up tables specially adapted for power saving
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

为降低自DRAM到GPU的数据传输能耗,克服现有技术的不足,本发明提供一种面向GPU数据传输的低能耗分组编码方法。本发明按二进制数0000~1111中的逻辑值1数量,将原始数据按4bit为基本单位划分为不同的分组,统计每个分组中的基本单元数量,并根据不同分组的数量及关系,采用分组值替换编码方法,进一步降低传输数据中逻辑值1的数量,达到降低传输能耗的目的。本发明方法简单,编码涉及的计算量少,代价低;相比于已有的技术,本发明更有利于挖掘原始数据中的能耗优化空间,进一步减少原始数据中逻辑值1的数量,最大限度地降低数据传输能耗。

Description

面向GPU数据传输的低能耗分组编码方法
技术领域
本发明涉及一种由DRAM往GPU发送数据的分组编码方法,目的是降低数据传输能耗。
背景技术
大数据背景下,为应对各种应用对算力的需求,GPU逐渐成为计算机系统中最主要的计算单元。为支持GPU的高速计算,DRAM要保持高带宽的数据传输,比如GDDR5X DRAM接口要提供高达14Gbps的带宽,导致DRAM与GPU之间的数据传输能耗持续增加,并且增加的幅度远大于传输数据带宽的增加幅度。
当前的DRAM与GPU数据传输接口,在电源与传输通道之间设有连接电阻。当传输通道为低电压时,静态电流由电源流经电阻,产生大量的静态能耗;当传输通道为高电压时,无静态电流,因此无静态能耗。传输通道的高低电压,分别代表不同的传输数据值:高电压代表逻辑值0,而低电压代表逻辑值1。因此传输数据中逻辑值1数量较多时,意味着低电压出现频繁,消耗的静态能耗大。要降低静态电流导致的静态能耗,就要减少传输数据中逻辑值1的数量。
DRAM与GPU采用并行数据线传输数据,线宽为32bit,数据块大小为32Bytes,合计256bits,意味着每个数据块需要8次传输,才能将数据块发送完毕。传统的动态反转编码技术统计32bit中逻辑值0与1的比例,如果其中1的占比较大,则反转整个传输数据,将原值为1的逻辑值变换为0,原值为0的逻辑值变换为1,由此降低逻辑值1的数据传输量。接收端收到后,再进行一次反转,即可恢复原始数据。如果原始数据中1的占比大,则不进行反转操作,就按原始数据传输。传统的动态反转编码技术存在诸多不足,每次反转收益有限;另外大多数情况下,原始传输数据中0和1值数量接近,动态反转编码作用有限。
发明内容
本发明的目的是降低自DRAM往GPU的数据传输能耗,克服现有技术的不足,提出一种面向GPU数据传输的低能耗分组编码方式。本发明按二进制数0000~1111中的逻辑值1数量,将原始数据按4bit为基本单位划分为不同的分组,统计每个分组中的基本单元数量,并根据不同分组的数量及关系,采用分组值替换编码方法,进一步降低传输数据中逻辑值1的数量,达到降低传输能耗的目的。
本发明解决上述问题所采用的技术方案是:面向GPU数据传输的低能耗分组编码方法,其特征在于如下步骤:
将0000到1111的16个连续的4位二进制数划分为A、B、C和D四组;每组的数据按从小到大排序;A组包含0000,0001,0010和0100,其中逻辑值1数量共计为3;B组包含1000,0011,0101和0111,其中逻辑值1数量共计为8;C组包含0110,1001,1010和1100,其中逻辑值1的数量共计为8;D组包含1011,1101,1110和1111,其中逻辑值1的数量共计为13。
传输数据的基本大小为32Bytes,按每4个连续bit从低位到高位划分为64个基本单元,每个单元的值落在0000至1111之间,A、B、C和D每个分组中的基本单元已知,按序统计落在每个分组中的单元数量为nA、nB、nC和nD,满足64=nA+nB+nC+nD
根据nA、nB、nC和nD的大小,进行值替换的基本步骤包括:
步骤1:统计得到nA、nB、nC和nD的数值,并从小到大排序为n1、n2、n3、n4
步骤2:取ni,i=1~4对应分组的逻辑值1的数量(k1,k2,k3,k4),ki的取值范围为{3,8,8,13};
步骤3:如果k1!=3,而ki=3,其中i=2,3,4;则ki与k1各自对应的分组进入值替换决策步骤5;
步骤4:如果k4!=13,而kj=13,其中j=2,3;如果步骤3中的i不等于4,则kj与k4各自对应的分组进入值替换决策步骤5;
步骤5:对于考虑值替换的两个分组fi与fj,其中i<j,组fi与组fj取值范围{组A,组B,组C,组D};满足条件nj>=ni+2,则执行步骤6值替换,否则不进行值替换,退出;
步骤6:组fi中的4位二进制数(a1,a2,a3,a4)按序与组fj中的4位二进制数(b1,b2,b3,b4)交换值,即原来组fi中的a1替换为组fj中的b1,而组fj中的b1替换为组fi中的a1,剩余的元素依次同样的操作。
数据发送端完成分组之间的值替换后,再产生对应的信号值;如果原始数据未进行任何值替换操作,信号值设置为000;如果仅组A与组B数值替换,信号值设置为001;如果仅组A与组C值替换,信号值设置为010;如果仅组B与组D值替换,信号值设置为100;如果仅组C与组D值替换,信号值设置为011;如果组A与组B值替换,同时组C与组D值替换,信号值设置为101;如果组A与组C值替换,同时组B与组D值替换,信号值设置为110;如果仅组A与组D值替换,信号值设置为111。值替换后的数据与信号值发往接收端,接收端收到数据后,根据信号值的不同,采取与发送端同样的分组值替换操作,恢复原始数据。
本发明与现有技术相比,具有以下优点和效果:本发明方法简单,编码涉及的计算量少,代价低;相比于已有的技术,本发明更有利于挖掘原始数据中的能耗优化空间,进一步减少原始数据中逻辑值1的数量,最大限度地降低数据传输能耗。
附图说明
图1是本发明DRAM和GPU数据发送与接收的结构图。
具体实施方式
下面结合附图并通过实施例对本发明作进一步的详细说明,本实施例中的面向GPU数据传输的低能耗分组编码方法,包括如下步骤:
每Byte数据包含8位二进制数,由两个4位二进制数构成。每个4位二进制数的取值范围是0000~1111。根据每个值包含逻辑值1的数量,将所有值划分为4个组:A组,B组,C组和D组。每个组中数值按从小到大排列。其中A组包含0000,0001,0010和0100,共计包含逻辑值1数量为3;其中B组包含1000,0011,0101和0111,共计包含逻辑值1数量为8;组C包含0110,1001,1010和1100,共计包含逻辑值1的数量为8;组D包含1011,1101,1110和1111,共计包含逻辑值1的数量为13。
传输数据块的大小为32Bytes,按每4个连续bit从低位到高位划分为64个基本单元,每个单元的值落在0000至1111之间,A、B、C和D每个分组中的基本单元已知,按序统计落在每个分组中的单元数量为nA、nB、nC和nD,满足64=nA+nB+nC+nD
为降低传输数据过程中的逻辑值1数量,需要根据nA、nB、nC和nD的大小,按序进行值替换。如果组A和组B中的数值按序值替换,即组A中的数值按序变换为组B中的数值,组B中的数值按序成为组A中的数值。原始传输数据中的数值0000,经过组A和组B之间的数值按序替换,变换为1000,而原始传输数据中的数值1000,则变换为0000。数据接收端接收经过值替换的数据后,再采用反值替换操作,恢复为原始数据。如果组D的nD数值很大,而组A的nA很小,那么组A和组D之间进行值替换后,可以极大地降低原始传输数据中逻辑值1的数量。
根据nA、nB、nC和nD的大小,进行值替换的基本步骤如下:
步骤1:统计得到nA、nB、nC和nD的数值,并按从小到大排序为n1、n2、n3、n4
步骤2:取ni,i=1~4对应分组的逻辑值1的数量(k1,k2,k3,k4),ki的取值范围为{3,8,8,13};
步骤3:如果k1!=3,而ki=3,其中i=2,3,4;则ki与k1各自对应的分组执行值替换决策步骤5;
步骤4:如果k4!=13,而kj=13,其中j=2,3;如果步骤3中的i不等于4,则kj与k4各自对应的分组执行值替换决策步骤5;
步骤5:对于考虑值替换的两个分组fi与fj,其中i<j,组fi与组fj取值范围{组A,组B,组C,组D};满足条件nj>=ni+2,则执行步骤6值替换,否则不进行值替换,退出;
步骤6:组fi中的4位二进制数(a1,a2,a3,a4)按序与组fj中的4位二进制数(b1,b2,b3,b4)交换值,即原来组fi中的a1替换为组fj中的b1,而组fj中的b1替换为组fi中的a1,剩余的元素依次同样的操作。
步骤6中组A按0000,0001,0010,0100的顺序,按序分别与组B中的0111,1000,0011和0101交换值;组A按0000,0001,0010,0100的顺序,按序分别与组C中的0110,1001,1010和1100交换值;组A按0000,0001,0010,0100的顺序,按序分别与组D中的1111,1011,1101和1110交换值;组B按1000,0011,0101和0111的顺序,按序分别与组D中的1111,1011,1101和1110交换值;组C按0110,1001,1010和1100的顺序,按序分别与组D中的1111,1011,1101和1110交换值。
图1中的发送端完成原始数据的值替换操作,将值替换信息采用编码后的信号值发送给接收端。所有的值替换编码方式见表1。数据发送端完成分组之间的值替换后,再产生对应的信号值。如果原始数据未进行任何值替换操作,信号值设置为000;如果仅组A与组B数值替换,信号值设置为001;如果仅组A与组C值替换,信号值设置为010;如果仅组B与组D值替换,信号值设置为100;如果仅组C与组D值替换,信号值设置为011;如果组A与组B值替换,同时组C与组D值替换,信号值设置为101;如果组A与组C值替换,同时组B与组D值替换,信号值设置为110;如果仅组A与组D值替换,信号值设置为111。
序号 编码 信号值
0 不进行值替换 000
1 仅AB值替换 001
2 仅AC值替换 010
3 仅CD值替换 011
4 仅BD值替换 100
5 AB值替换,CD值替换 101
6 AC值替换,BD值替换 110
7 仅AD值替换 111
表1值替换编码
信号值与值替换后的数据先后发往接收端,接收端根据接收到的信号值,判断数据的值替换方式,并采用与发送端同样的值替换操作,即表1的值替换编码方式,恢复原始数据。为降低信号值发送代价,发送端采用单次多发信号值的方式,分摊每个信号值的发送成本。由于DRAM与GPU之间的线宽为32bit,每个信号值占据3bit,因此每次的传输数据最多容纳10个信号值。发送端对缓存的每10个数据块,按数据块执行分组值替换操作,获得共计10组信号值并一次性发送到接收端,然后按序依次发送每个数据块,共计发送次数80。相比于直接发送数据,采用分组值替换编码的方式,每81次数据发送中存在1次信号值发送的代价,代价率为1.25%。传统的动态反转编码方式,不仅需要额外的硬件布线,而且每次发送数据时,需要发送信号值,相比之下,本方法1.25%的发送代价低。
此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同,本说明书中所描述的以上内容仅仅是对本发明结构所作的举例说明。凡依据本发明专利构思所述的构造、特征及原理所做的等效变化或者简单变化,均包括于本发明专利的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

Claims (4)

1.面向GPU数据传输的低能耗分组编码方法,其特征在于:将0000到1111的16个连续的4位二进制数划分为A、B、C和D四组;每组的数据按从小到大排序;A组包含0000,0001,0010和0100,其中逻辑值1数量共计为3;B组包含1000,0011,0101和0111,其中逻辑值1数量共计为8;C组包含0110,1001,1010和1100,其中逻辑值1的数量共计为8;D组包含1011,1101,1110和1111,其中逻辑值1的数量共计为13;GPU传输数据的基本大小为32Bytes,按每4个连续bit从低位到高位划分为64个基本单元,每个单元的值落在0000至1111之间,A、B、C和D每个分组中的基本单元已知,按序统计落在每个分组中的单元数量为nA、nB、nC和nD,满足64=nA+nB+nC+nD;再根据nA、nB、nC和nD的大小,进行值替换的基本步骤包括:
步骤1:统计得到nA、nB、nC和nD的数值,并从小到大排序为n1、n2、n3、n4
步骤2:取ni,i=1~4对应分组的逻辑值1的数量(k1,k2,k3,k4),ki的取值范围为{3,8,8,13};
步骤3:如果k1!=3,而ki=3,其中i=2,3,4;则ki与k1各自对应的分组进入值替换决策步骤5;
步骤4:如果k4!=13,而kj=13,其中j=2,3;如果步骤3中的i不等于4,则kj与k4各自对应的分组进入值替换决策步骤5;
步骤5:对于考虑值替换的两个分组fi与fj,其中i<j,组fi与组fj取值范围{组A,组B,组C,组D};满足条件nj>=ni+2,则执行步骤6值替换,否则不进行值替换,退出;
步骤6:组fi中的4位二进制数(a1,a2,a3,a4)按序与组fj中的4位二进制数(b1,b2,b3,b4)交换值,即原来组fi中的a1替换为组fj中的b1,而组fj中的b1替换为组fi中的a1,剩余的元素依次同样的操作。
2.根据权利要求1所述的面向GPU数据传输的低能耗分组编码方法,其特征在于:值替换基本步骤6中,组A按0000,0001,0010,0100的顺序,按序分别与组B中的0111,1000,0011和0101交换值;组A按0000,0001,0010,0100的顺序,按序分别与组C中的0110,1001,1010和1100交换值;组A按0000,0001,0010,0100的顺序,按序分别与组D中的1111,1011,1101和1110交换值;组B按1000,0011,0101和0111的顺序,按序分别与组D中的1111,1011,1101和1110交换值;组C按0110,1001,1010和1100的顺序,按序分别与组D中的1111,1011,1101和1110交换值。
3.根据权利要求1所述的面向GPU数据传输的低能耗分组编码方法,其特征在于:数据发送端完成分组之间的值替换后,再产生对应的信号值;如果原始数据未进行任何值替换操作,信号值设置为000;如果仅组A与组B数值替换,信号值设置为001;如果仅组A与组C值替换,信号值设置为010;如果仅组B与组D值替换,信号值设置为100;如果仅组C与组D值替换,信号值设置为011;如果组A与组B值替换,同时组C与组D值替换,信号值设置为101;如果组A与组C值替换,同时组B与组D值替换,信号值设置为110;如果仅组A与组D值替换,信号值设置为111。
4.根据权利要求1所述的面向GPU数据传输的低能耗分组编码方法,其特征在于:值替换后的数据与信号值先后发往接收端,接收端收到数据后,根据信号值的不同,采取基本步骤6中同样的值替换操作,恢复原始数据。
CN202110254219.4A 2021-03-09 2021-03-09 面向gpu数据传输的低能耗分组编码方法 Expired - Fee Related CN113055125B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110254219.4A CN113055125B (zh) 2021-03-09 2021-03-09 面向gpu数据传输的低能耗分组编码方法
AU2021102878A AU2021102878A4 (en) 2021-03-09 2021-05-27 Energy-efficient block coding method for GPU data transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110254219.4A CN113055125B (zh) 2021-03-09 2021-03-09 面向gpu数据传输的低能耗分组编码方法

Publications (2)

Publication Number Publication Date
CN113055125A CN113055125A (zh) 2021-06-29
CN113055125B true CN113055125B (zh) 2022-05-20

Family

ID=76510548

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110254219.4A Expired - Fee Related CN113055125B (zh) 2021-03-09 2021-03-09 面向gpu数据传输的低能耗分组编码方法

Country Status (2)

Country Link
CN (1) CN113055125B (zh)
AU (1) AU2021102878A4 (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1811978A (zh) * 2006-03-10 2006-08-02 清华大学 一种降低集成电路中存储器功耗的方法
CN101807926A (zh) * 2010-01-21 2010-08-18 上海电力学院 低功耗soc测试数据压缩编码方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160261375A1 (en) * 2015-03-04 2016-09-08 Qualcomm Incorporated Packet format and coding method for serial data transmission

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1811978A (zh) * 2006-03-10 2006-08-02 清华大学 一种降低集成电路中存储器功耗的方法
CN101807926A (zh) * 2010-01-21 2010-08-18 上海电力学院 低功耗soc测试数据压缩编码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于程序访存模式的低功耗存储技术;章铁飞,陈天洲,吴剑钟;《软件学报》;20140215;254-266 *

Also Published As

Publication number Publication date
CN113055125A (zh) 2021-06-29
AU2021102878A4 (en) 2021-07-22

Similar Documents

Publication Publication Date Title
US11431351B2 (en) Selection of data compression technique based on input characteristics
US8510490B2 (en) Encoding data using combined data mask and data bus inversion
US8581755B2 (en) Multiple word data bus inversion
CN101499048A (zh) 总线编/解码方法和总线编/解码器
CN109104197B (zh) 应用于卷积神经网络的非还原稀疏数据的编译码电路及其编译码方法
US7995696B1 (en) System and method for deskewing data transmitted through data lanes
US8161210B1 (en) Multi-queue system and method for deskewing symbols in data streams
CN102681793A (zh) 一种基于纠删码集群存储系统的局部式数据更新方法
WO2019128707A1 (zh) 一种速率匹配和极化码编码的方法和设备
US10657094B2 (en) Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses
CN101222297A (zh) 交织码和网络编码结合的数据分发方法
CN106656195A (zh) 数据压缩、解压缩的方法及系统
CN104994388A (zh) 改进的不等差错保护喷泉码构造方法
CN110867213A (zh) 一种dna数据的存储方法和装置
CN113055125B (zh) 面向gpu数据传输的低能耗分组编码方法
CN107733562A (zh) 极化码的编解码方法及装置
CN102195743B (zh) 动态实时喷泉码编码方案
CN107612891B (zh) 一种数据压缩加密电路
US9286259B2 (en) Method and apparatus for lowering I/O power of a computer system and computer system
CN1279697C (zh) 片上系统的测试数据压缩编码解码方法及专用解码单元
Liu et al. Completion time in broadcast channel and interference channel
CN101505155B (zh) 实现前缀码构造的装置和方法
US11362673B2 (en) Entropy agnostic data encoding and decoding
CN102136878B (zh) 一种速率匹配实现方法和系统
CN117806996A (zh) 一种降低gpu与dram之间数据传输能耗的复合编码方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220520

CF01 Termination of patent right due to non-payment of annual fee