IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クンルンシン テクノロジー (ベイジン) カンパニー リミテッドの特許一覧

特開2024-23532電子機器、メモリアクセス効率の決定方法及び記憶媒体
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024023532
(43)【公開日】2024-02-21
(54)【発明の名称】電子機器、メモリアクセス効率の決定方法及び記憶媒体
(51)【国際特許分類】
   G06F 13/12 20060101AFI20240214BHJP
   G06F 12/00 20060101ALI20240214BHJP
   G06F 13/14 20060101ALI20240214BHJP
【FI】
G06F13/12 340H
G06F12/00 560A
G06F13/12 330D
G06F13/12 340Z
G06F13/14 330A
【審査請求】有
【請求項の数】17
【出願形態】OL
【公開請求】
(21)【出願番号】P 2023204882
(22)【出願日】2023-12-04
(31)【優先権主張番号】202310310122.X
(32)【優先日】2023-03-24
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】521457387
【氏名又は名称】クンルンシン テクノロジー (ベイジン) カンパニー リミテッド
【氏名又は名称原語表記】Kunlunxin Technology (Beijing) Company Limited
【住所又は居所原語表記】CW Section, F/4, Building 1, No.10, Shangdi 10th Street, Haidian District, 100101, Beijing, China
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100189555
【弁理士】
【氏名又は名称】徳山 英浩
(72)【発明者】
【氏名】高 大▲ヘン▼
(72)【発明者】
【氏名】単 良
(72)【発明者】
【氏名】李 宇鵬
(72)【発明者】
【氏名】馮 晨
(57)【要約】      (修正有)
【課題】演算子の性能を向上させるために、演算子のハードウェア利用率を向上させる電子機器、メモリアクセス効率の決定方法及び記憶媒体を提供する。
【解決手段】電子機器は、実行可能命令、及び複数のデータブロックに分割される処理すべきデータを記憶するように構成されるメモリと、実行可能命令を実行するように構成されるプロセッサと、を含む。方法は、メモリから複数のデータブロックにおける測定すべきデータブロックを読み取り、測定すべきデータブロックのサイズ情報に基づいて、読取周期情報とデータ読取区間とを含むアクセス記述情報を決定し、アクセス記述情報及びプロセッサがメモリから処理すべきデータを読み取る複数のチャンネルを記述するチャンネル記述情報に基づいて、プロセッサが測定すべきデータブロックを読み取るアクセス効率を決定する。
【選択図】図5
【特許請求の範囲】
【請求項1】
電子機器であって、
実行可能命令、及び複数のデータブロックに分割される処理すべきデータを記憶するように構成されるメモリと、
前記メモリから複数のデータブロックにおける測定すべきデータブロックを読み取り、
前記測定すべきデータブロックのサイズ情報に基づいて、読取周期情報とデータ読取区間とを含むアクセス記述情報を決定し、
前記アクセス記述情報、およびプロセッサが前記メモリから前記処理すべきデータを読み取る複数のチャンネルを記述するチャンネル記述情報に基づいて、プロセッサが前記測定すべきデータブロックを読み取るアクセス効率を決定するように、前記実行可能命令を実行して構成されるプロセッサと、を含む、
電子機器。
【請求項2】
前記測定すべきデータブロックのサイズ情報は、データ読取オフセット、行数及び列数を含み、
前記読取周期情報は、周期的方形波として表され、
前記周期的方形波の有効幅は、前記列数であり、
前記周期的方形波の周期は、前記データ読取オフセットに基づいて決定され、
前記データ読取区間は、前記データ読取オフセット及び前記行数に基づいて決定される
請求項1に記載の電子機器。
【請求項3】
前記プロセッサは、さらに、
前記複数のチャンネルのうちの目標チャンネルを特定し、前記目標チャンネルは、前記複数のチャンネルを利用して前記メモリから前記測定すべきデータブロックを並列に読み取る場合、データ伝送負荷が最大となるチャンネルであり、
前記目標チャンネルの目標チャンネル記述情報を決定し、前記目標チャンネル記述情報は、目標チャンネルのチャンネル帯域幅を含み、
前記データ読取区間における前記読取周期情報と前記目標チャンネル記述情報の積分値に基づいて、前記プロセッサが前記測定すべきデータブロックを読み取るアクセス効率を決定する
ように構成される
請求項1に記載の電子機器。
【請求項4】
前記プロセッサは、さらに、
前記複数のチャンネルの数、前記測定すべきデータブロックのサイズ情報および前記積分値に基づいて、前記プロセッサが前記測定すべきデータブロックを読み取るアクセス効率を決定する
ように構成される
請求項3に記載の電子機器。
【請求項5】
前記プロセッサは、さらに、
前記読取周期情報の複数の第一周波数領域成分を決定し、前記目標チャンネル記述情報の複数の第二周波数領域成分を決定し、
複数の第一周波数領域成分および複数の第二周波数領域成分に基づいて、前記プロセッサが前記測定すべきデータブロックを読み取るアクセス効率を決定する
ように構成される
請求項3に記載の電子機器。
【請求項6】
前記プロセッサは、さらに、
前記読取周期情報に対してフーリエ段数展開を行い、複数の第一周波数領域成分を取得し、
前記目標チャンネル記述情報に対してフーリエ段数展開を行い、複数の第二周波数領域成分を取得する
ように構成される
請求項5に記載の電子機器。
【請求項7】
前記プロセッサが前記測定すべきデータブロックを読み取るアクセス効率は、前記プロセッサが前記複数のチャンネルを介してメモリから前記測定すべきデータブロックを並列に読み取る場合、前記複数のチャンネルにおけるデータ伝送負荷の均一性を表す
請求項1から6のいずれか一項に記載の電子機器。
【請求項8】
メモリアクセス効率を決定する方法であって、
メモリから複数のデータブロックにおける測定すべきデータブロックを読み取ることと、
前記測定すべきデータブロックのサイズに基づいて、読取周期情報およびデータ読取区間を含むアクセス記述情報を決定することと、
前記アクセス記述情報、および前記メモリから前記測定すべきデータを読み取る複数のチャンネルを記述するチャンネル記述情報に基づいて、前記プロセッサが前記測定すべきデータブロックを読み取るアクセス効率を決定することと、を含む
メモリアクセス効率の決定方法。
【請求項9】
前記処理すべきデータ読取サイズ情報は、データ読取オフセット、行数及び列数を含み、
前記読取周期情報は、周期的方形波として表され、
前記周期的方形波の有効幅は、前記列数であり、
前記周期的方形波の周期は、前記データ読取オフセットに基づいて決定され、
前記データ読取区間は、前記データ読取オフセット及び前記行数に基づいて決定される
請求項8に記載の方法。
【請求項10】
前記アクセス記述情報およびチャンネル記述情報に基づいて、前記プロセッサが前記測定すべきデータブロックを読み取るアクセス効率を決定することは、
前記複数のチャンネルのうちの、前記複数のチャンネルを利用して前記メモリから前記測定すべきデータブロックを並列に読み取る場合、データ伝送負荷が最大となるチャンネルである目標チャンネルを特定することと、
前記目標チャンネルの、目標チャンネルのチャンネル帯域幅を含む目標チャンネル記述情報を決定することと、
前記データ読取区間における前記読取周期情報と前記目標チャンネル記述情報の積分値に基づいて、前記プロセッサが前記測定すべきデータブロックを読み取るアクセス効率を決定することと、を含む
請求項8に記載の方法。
【請求項11】
前記データ読取区間における前記読取周期情報と前記目標チャンネル記述情報の積分値に基づいて、前記プロセッサが前記測定すべきデータブロックを読み取るアクセス効率を決定することは、
前記複数のチャンネルの数、前記測定すべきデータブロックのサイズおよび前記積分値に基づいて、前記プロセッサが前記測定すべきデータブロックを読み取るアクセス効率を決定することを含む
請求項10に記載の方法。
【請求項12】
前記データ読取区間における前記読取周期情報と前記目標チャンネル記述情報の積分値に基づいて、前記プロセッサが前記測定すべきデータブロックを読み取るアクセス効率を決定することは、
前記読取周期情報の複数の第一周波数領域成分を決定し、前記目標チャンネル記述情報の複数の第二周波数領域成分を決定することと、
前記複数の第一周波数領域成分および前記複数の第二周波数領域成分に基づいて、前記プロセッサが前記測定すべきデータブロックを読み取るアクセス効率を決定することと、を含む
請求項10に記載の方法。
【請求項13】
前記読取周期情報の複数の第一周波数領域成分を決定し、前記目標チャンネル記述情報の複数の第二周波数領域成分を決定することは、
前記読取周期情報に対してフーリエ段数展開を行い、複数の第一周波数領域成分を取得することと、
前記目標チャンネル記述情報に対してフーリエ段数展開を行い、複数の第二周波数領域成分を取得することと、を含む
請求項12に記載の方法。
【請求項14】
前記プロセッサが前記測定すべきデータブロックを読み取るアクセス効率は、前記プロセッサが前記複数のチャンネルを介してメモリから前記測定すべきデータブロックを並列に読み取る場合に、前記複数のチャンネルにおけるデータ伝送負荷の均一性を表す
請求項8に記載の方法。
【請求項15】
電子機器であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されたメモリと、を含み、
前記メモリは、前記少なくとも1つのプロセッサによって実行可能な命令を記憶し、前記命令は、前記少なくとも1つのプロセッサが請求項8から14のいずれか1項に記載の方法を実行できるように、前記少なくとも1つのプロセッサによって実行される
電子機器。
【請求項16】
コンピュータ命令が記憶されている非一時的なコンピュータ可読記憶媒体であって、
前記コンピュータ命令は、コンピュータに請求項8から14のいずれか一項に記載の方法を実行させる
非一時的なコンピュータ可読記憶媒体。
【請求項17】
プロセッサによって実行される際に、請求項8から14のいずれか一項に記載の方法を実現する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ技術分野に関し、特に、チップ、メモリおよびプロセッサなどの技術分野に関する。より具体的には、本開示は、電子機器、メモリアクセス効率の決定方法及び記憶媒体を提供する。
【背景技術】
【0002】
人工知能技術及びコンピュータ技術の発展に伴い、人工知能(Artificial Intelligence,AI)チップに基づく演算子を開発することができる。演算子の性能を向上させるために、演算子のハードウェア利用率を向上させることができる。
【発明の概要】
【0003】
本開示は、電子機器、メモリアクセス効率の決定方法及び記憶媒体を提供する。
【0004】
本開示の一態様によれば、
実行可能命令、及び複数のデータブロックに分割される処理すべきデータを記憶するように構成されるメモリと、
メモリから複数のデータブロックにおける測定すべきデータブロックを読み取り、測定すべきデータブロックのサイズ情報に基づいて、読取周期情報とデータ読取区間とを含むアクセス記述情報を決定し、アクセス記述情報、およびプロセッサがメモリから処理すべきデータを読み取る複数のチャンネルを記述するチャンネル記述情報に基づいて、プロセッサが測定すべきデータブロックを読み取るアクセス効率を決定するように実行可能命令を実行して構成されるプロセッサと、を含む電子機器を提供する。
【0005】
本開示のもう1つの態様によれば、メモリから複数のデータブロックにおける測定すべきデータブロックを読み取ることと、測定すべきデータブロックのサイズに基づいて、読取周期情報およびデータ読取区間を含むアクセス記述情報を決定することと、アクセス記述情報、およびメモリから処理すべきデータを読み取る複数のチャンネルを記述するチャンネル記述情報に基づいて、測定すべきデータブロックを読み取るアクセス効率を決定することと、を含むメモリアクセス効率を決定する方法を提供する。
【0006】
本開示のもう1つの態様によれば、少なくとも1つのプロセッサと、少なくとも1つのプロセッサと通信接続されたメモリと、を含み、メモリは、少なくとも1つのプロセッサによって実行可能な命令を記憶し、命令は、少なくとも1つのプロセッサが本開示に提供される方法を実行できるように、少なくとも1つのプロセッサによって実行される、電子機器を提供する。
【0007】
本開示のもう1つの態様によれば、コンピュータ命令がコンピュータに本開示に提供される方法を実行させる、コンピュータ命令が記憶されている非一時的なコンピュータ可読記憶媒体を提供する。
【0008】
本開示のもう1つの態様によれば、プロセッサによって実行される際に、本開示に提供される方法を実現するコンピュータプログラムを提供する。
【0009】
理解すべきであるように、本部分に記載された内容は、本開示の実施例の重要な特徴を識別するためのものではなく、本開示の範囲を制限するものでもない。本開示のその他の特徴は、以下の明細書によって容易に理解されるであろう。
【0010】
図面は、本発明をより良く理解するためのものであり、本開示を限定するものではない。
【図面の簡単な説明】
【0011】
図1図1は、本開示の一実施例に係る電子機器の模式図である。
図2A図2Aは、本開示の一実施例に係るアクセス記述関数の関数画像模式図である。
図2B図2Bは、本開示の一実施例に係る周期的方形波の模式図である。
図2C図2Cは、本開示の一実施例に係るデータ読取区間の模式図である。
図3A図3Aは、本開示の一実施例に係る複数のチャンネルの分布模式図である。
図3B図3Bは、本開示の一実施例に係るチャンネル記述関数の関数画像模式図である。
図4A図4Aは、本開示の一実施例に係る調整後の目標チャンネル記述関数の関数画像模式図である。
図4B図4Bは、本開示の一実施例に係る調整後の周期的方形波の模式図である。
図4C図4Cは、本開示の一実施例に係る調整後のデータ読取区間の模式図である。
図5図5は、本開示の一実施例に係るメモリアクセス効率を決定する方法のフローチャートである。
図6図6は、本開示の一実施例に係るメモリアクセス効率を決定する方法を適用できる電子機器のブロック図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本開示の例示的な実施例を説明し、理解を容易にするために、本開示の実施例の様々な詳細を含み、これらは例示的なものに過ぎない。したがって、当業者は、ここに記載された実施例に対して、本開示の範囲及び精神から逸脱することなく、様々な変更及び修正を行うことができることを認識すべきである。同様に、明確かつ簡潔にするために、以下の説明では、公知の機能及び構造についての説明を省略する。
【0013】
アクセス集中型演算子は、一般行列乗算(GEMM)演算子と畳み込み(conv)演算子とを含んでもよい。アクセス集中型演算子のビデオメモリに対する帯域幅利用率を向上させ、演算子を最適化することができる。チップ内部キャッシュが制限される場合、処理すべきデータに対してブロック分割を行ってもよい。演算子を起動する前に、異なる行列ブロック分割方式のアクセス時間を決定することができる。いくつかの場合、チャンネル(Channel)衝突は、データ全体のアクセス時間に影響を与えることができる。例えば、チャンネル競合が存在する場合、帯域幅効率は、チャンネル数(channel number;cn)の逆数である1/cnであり得る。
【0014】
いくつかの実施例において、処理すべきデータをブロック分割する方式を最適化することができ、これにより、毎回のアクセスはできるだけ多くのチャンネルに落ち、マルチチャンネルの帯域幅を有効に利用する。しかしながら、内部キャッシュが制限されている場合、リード操作の帯域幅を増加させると、ライト操作の帯域幅が小さくなってしまうおそれがある。特定のアクセス幅のアクセス効率を定量化できない場合、良好なデータブロック分割方式を決定することは困難である。
【0015】
いくつかの実施例において、特定のデータ読取オフセット(ld)を処理することができる。例えば、特定のデータ読取オフセット量は、チャンネル数とチャンネル幅(ig)との積とすることができる。ブロック分割方式を決定する際に、当該特定のデータ読取オフセットに対して、帯域幅効率ペナルティを増加させることができ、最終的なブロック分割方式はマルチチャンネルの帯域幅をできるだけ利用することができる。しかしながら、データ読取オフセットと当該特定のデータ読取オフセットとの差異が小さいと、適切なブロック分割方式を決定することが困難となる。また、データ読取オフセットが特定のデータ読取オフセットの整数倍又は0.5倍であっても、適切なブロック分割方式を決定することは困難である。
【0016】
データ処理効率を向上させるために、本開示は電子機器を提供する。以下に説明する。
【0017】
図1は、本開示の一実施例に係る電子機器の模式図である。
【0018】
図1に示すように、電子機器100は、メモリ110及びプロセッサ120を含んでもよい。
【0019】
メモリ110は、実行可能命令及び処理すべきデータを記憶するように構成されてもよい。
【0020】
本開示の実施例において、処理すべきデータは、複数のデータブロックに分割されてもよい。例えば、いずれかのブロック分割方式に従って処理すべきデータをブロック分割し、複数のデータブロックを取得することができる。
【0021】
本開示の実施例において、メモリは、2倍のレート同期ダイナミックランダムアクセスメモリ(DDR)であってもよく、ビデオメモリ(GDDR)であってもよい。
【0022】
プロセッサ120は、メモリから複数のデータブロックにおける測定すべきデータブロックを読み取るように実行可能な命令を実行するように構成されてもよい。測定すべきデータブロックのサイズ情報に基づいて、アクセス記述情報を決定する。アクセス記述情報およびチャンネル記述情報に基づいて、プロセッサが測定すべきデータブロックを読み取るアクセス効率を決定する。
【0023】
本開示の実施例において、複数のデータブロックのうちのいずれか1つのデータブロックを測定すべきデータブロックとしてもよい。
【0024】
本開示の実施例において、アクセス記述情報は、読取周期情報及びデータ読取区間を含んでもよい。例えば、測定すべきデータブロックは、行列として実現されてもよい。測定すべきデータブロックのサイズ情報は、行数目および列数目を含み得る。列数目に応じて、読取周期情報を決定してもよい。行数目に応じて、データ読取区間を決定することができる。一例では、読取周期情報は、各読取周期において、当該行列の1つの行データを読み取るように指示することができる。行データは、列数目個の値を含む。データ読取区間は、当該行列の全ての値に関する。
【0025】
本開示の実施例において、チャンネル記述情報は、プロセッサがメモリから処理すべきデータを読み取る複数のチャンネルを記述する。例えば、複数のチャンネルを介して、プロセッサは、メモリから処理すべきデータの1つまたは複数のデータブロックを読み取ることができる。チャンネル記述情報は、複数のチャンネルを記述することができる。
【0026】
本開示の実施例によれば、アクセス記述情報が確立され、アクセス記述情報及びチャンネル記述情報に基づいて、アクセス効率が決定される。これにより、アクセス効率が決定された場合、アクセス効率が比較的低い場合、データブロック分割を調整することができ、これにより、アクセス効率を向上させ、電子機器のデータ処理能力の向上に役立つ。
【0027】
以上、本開示の電子機器について説明したが、以下、本開示のアクセス記述情報についてさらに説明する。
【0028】
いくつかの実施例において、測定すべきデータブロックのサイズ情報は、データ読取オフセット、行数目及び列数目を含んでもよい。データ読取オフセット、行数目及び列数目に基づいて、アクセス記述情報を決定することができる。当該アクセス記述情報は、アクセス記述関数として実現されてもよく、以下、図2Aを参照してさらに説明する。
【0029】
図2Aは、本開示の一実施例に係るアクセス記述関数の関数画像模式図である。
【0030】
図2Aに示すように、アクセス記述関数は周期関数であってもよく、関数周期はデータ読取オフセットに基づいて決定されてもよい。例えば、アクセス記述関数x(t)は、(式1)であってもよい。
【0031】
【数1】
【0032】
kは、0以上row-1以下の整数であってもよい。rowは、行数目であってもよい。colは、列数目であってもよい。ldは、データ読取オフセットであってもよい。
【0033】
式1に示されるアクセス記述関数は、周期性関数とデータ区間との積と見なすことができる。例えば、周期性関数は、読取周期情報に対応してもよく、データ区間は、データ読取区間に対応してもよい。
【0034】
いくつかの実施例において、読取周期情報は周期的方形波として表されてもよい。以下、図2Bを参照してさらに説明する。
【0035】
図2Bは、本開示の一実施例に係る周期的方形波の模式図である。
【0036】
本開示の実施例において、方形波の有効幅は、列数目であってもよく、周期的方形波の周期は、読取オフセット量に基づいて決定される。図2Bに示すように、周期的方形波に対応する読取周期関数l(t)は、(式2)であってもよい。
【0037】
【数2】
【0038】
いくつかの実施例において、データ読取区間は、データ読取オフセット及び行数目に基づいて決定されてもよい。以下、図2Cを参照してさらに説明する。
【0039】
図2Cは、本開示の一実施例に係るデータ読取区間の模式図である。
【0040】
図2Cに示すように、データ読取区間に対応する第一区間端点値は0であってもよく、データ読取区間に対応する第二区間端点値はデータ読取オフセットldと行数目rowとの積row*ldであってもよい。例えば、データ読取区間に対応する関数i(t)は、(式3)であってもよい。
【0041】
【数3】
【0042】
本開示の実施例によれば、アクセス記述情報を決定し、アクセス行為に対するモデリングを実現し、アクセス効率を正確且つ定量的に決定することに役立つ。
【0043】
以上、本開示のアクセス記述情報について説明したが、以下、図3A及び図3Bを参照して本開示のチャンネル記述情報について説明する。
【0044】
図3Aは、本開示の一実施例による複数のチャンネルの分布模式図である。
【0045】
図3Aに示すように、チャンネルの数はcnであってもよく、チャンネルのチャンネル幅はigであってもよい。
【0046】
いくつかの実施例において、チャンネル記述情報は、チャンネルのチャンネル帯域幅を含んでもよい。例えば、チャンネル記述情報はチャンネル記述関数として実現されてもよい。複数のチャンネルのうちチャンネルchannel_0、チャンネルchannel_0のチャンネル記述関数の関数画像を図3Bに示す。
【0047】
図3Bは、本開示の一実施例に係るチャンネル記述関数の関数画像模式図である。
【0048】
図3Bに示すように、チャンネルchannel_0のチャンネル幅はigであってもよい。例えば、チャンネルchannel_0のチャンネル記述関数は、(式4)であってもよい。
【0049】
【数4】
【0050】
kは0以上の整数であってもよい。
【0051】
本開示の実施例によれば、チャンネル記述情報を決定し、チャンネルに対するモデリングを実現し、アクセス効率を正確且つ定量的に決定することに役立つ。
【0052】
上記、本開示のチャンネル記述情報およびアクセス記述情報について説明したが、以下、アクセス効率を決定するいくつかの態様をさらに説明する。
【0053】
本開示の実施例において、プロセッサは、アクセス記述情報及びチャンネル記述情報の積分結果、チャンネル数及び第一所定のパラメータに基づいて、いずれかのチャンネルのアクセス時間を決定するように構成されてもよい。第一所定のパラメータは、チャンネルの帯域幅に関連してもよい。例えば、cn個のチャンネルのうちの第iチャンネルについて、アクセス時間ciは、(式5)であってもよい。
【0054】
【数5】
【0055】
bwは、第一所定のパラメータであってもよい。c_i(t)は、第iチャンネルのチャンネル記述関数であってもよい。iは0以上cn-1以下の整数であってもよい。
【0056】
上述のように、アクセス記述情報は、読取周期情報およびデータ読取区を含み得る。本開示の実施例において、プロセッサは、読取周期情報及びチャンネル記述情報のデータ読取区間における積分値、チャンネル数及び第一所定のパラメータに基づいて、いずれかのチャンネルのアクセス時間を決定するように配置されてもよい。例えば、cn個のチャンネルのうちの第iチャンネルについて、アクセス時間ciは、(式6)であってもよい。
【0057】
【数6】
【0058】
本開示の実施例によれば、データ読取区間を積分区間とすることができ、アクセス時間の決定に有利である。
【0059】
いくつかの実施例において、プロセッサは、複数のチャンネルにおける目標チャンネルを決定するようにさらに構成されてもよい。本開示の実施例において、複数のチャンネルを利用して並列にメモリから測定すべきデータブロックを読み取る場合、目標チャンネルはデータ伝送負荷が最大のチャンネルであってもよい。例えば、cn個のチャンネルを利用して並列にメモリから測定すべきデータブロックを読み取る場合、チャンネルchannel_0のデータ伝送負荷が最大であれば、チャンネルchannel_0を目標チャンネルとすることができる。
【0060】
いくつかの実施例において、プロセッサは、さらに、目標チャンネルの目標チャンネル記述情報を決定するように配置されてもよい。例えば、目標チャンネルがチャンネルchannel_0である場合、チャンネルchannel_0のチャンネル記述情報を目標チャンネル記述情報としてもよい。
【0061】
いくつかの実施例において、プロセッサは、さらに、測定すべきデータブロックの列数目、行数目、第一所定のパラメータ及び目標チャンネルに基づいて、プロセッサが測定すべきデータブロックを読み取るアクセス効率を決定するように構成されてもよい。例えば、以下の式により、アクセス効率ηを決定することができる。
【0062】
【数7】
【0063】
max(c0,c1...c{cn-1})は、複数のチャンネルのうちの目標チャンネルを決定する関数である。目標チャンネルがチャンネルchannel_0である場合、式7は、(式8)に変換されることができる。
【0064】
【数8】
【0065】
次に、式8と式6を組み合わせることができる。即ち、本開示の実施例において、プロセッサは、読取周期情報及び目標チャンネル記述情報のデータ読取区間における積分値に基づいて、プロセッサが測定すべきデータブロックを読み取るアクセス効率を決定するように配置されてもよい。例えば、複数のチャンネルの数、測定すべきデータブロックのサイズ情報及び積分値に基づいて、プロセッサが測定すべきデータブロックを読み取るアクセス効率を決定する。T=row*ldであれば、以下の式によってアクセス効率を決定することができる。
【0066】
【数9】
【0067】
式9、式2及び式4に示すように、c_0(t)及びl(t)はいずれも周期関数であってもよい。上記の積分値を決定するために、相関関数を周波数領域に変換することができる。変換方式は、例えば、フーリエ段数展開、フーリエ変換、ウェーブレット変換等を含んでよい。例えばフーリエ段数展開を行う場合、相関関数が偶関数であれば、全体段数に余弦項のみが存在し、演算コストを低減することができる。よって、本開示の実施例において、プロセッサは、読取周期関数、目標チャンネル記述関数及びデータ読取区間をそれぞれ調整し、調整後の読取周期関数、調整後の目標チャンネル記述関数を得るように構成されてもよい。以下、図4A図4Cを参照して詳細に説明する。
【0068】
図4Aは、本開示の一実施例に係る調整後の目標チャンネル記述関数の関数画像の模式図である。図4Aに示すように、横軸方向に沿って、目標チャンネル記述関数を1/2つのチャンネル幅に並進させ、調整後の目標チャンネル関数を得ることができる。調整後の目標チャンネル関数は、偶関数であってもよい。
【0069】
図4Bは、本開示の一実施例に係る調整後の周期的方形波の模式図である。横軸方向に沿って、読取周期関数を1/2つの列データに並進させ、調整後の読取周期関数を得ることができる。調整後の読取周期関数は、偶関数であってもよい。調整後の読取周期関数は、図4Bに示すような調整後の周期的方形波として表すことができる。
【0070】
図4Cは、本開示の一実施例に係る調整後のデータ読取区間の模式図である。図4Cに示すように、横軸方向に沿って、データ読取区間を1/2つの上記の積(row*ld)だけ並進させ、調整後のデータ読取区間を得ることができる。
【0071】
次に、読取周期関数、目標チャンネル記述関数及びデータ読取区間をそれぞれ調整した後、本開示の実施例において、プロセッサは、複数のチャンネルの数、測定すべきデータブロックのサイズ情報及び調整後の読取周期情報及び調整後の目標チャンネル記述情報の調整後のデータ読取区間の積分値に基づいて、プロセッサが測定すべきデータブロックを読み取るアクセス効率を決定するように構成されてもよい。例えば、以下の式により、アクセス効率を決定することができる。
【0072】
【数10】
【0073】
次に、プロセッサは、読取周期情報の複数の第一周波数領域成分を決定し、目標チャンネル記述情報の複数の第二周波数領域成分を決定するように配置されてもよい。例えば、プロセッサは、読取周期情報に対してフーリエ段数展開を行い、複数の第一周波数領域成分を取得するように配置されてもよい。目標チャンネル記述情報に対してフーリエ段数展開を行い、複数の第二周波数領域成分を得る。
【0074】
また例えば、関数f(t)が偶関数であり且つ周期関数である場合、関数f(t)に対してn段のフーリエ展開を行ってもよい。
【0075】
【数11】
【0076】
関数f(t)の周期は、Tであってもよい。ωは、周期に対応する周波数であってもよい。aは、n段目の展開パラメータであってもよい。周波数ω、0段目の展開パラメータa及びn段目の展開パラメータaはそれぞれ以下の通りであってもよい。
【0077】
【数12】
【0078】
【数13】
【0079】
【数14】
【0080】
rは、関数f(t)のデューティ比であってもよい。
【0081】
これにより、目標チャンネル記述関数c_0(t)に対してn段のフーリエ展開を行うことができる。
【0082】
【数15】
【0083】
目標チャンネル記述関数c_0(t)の周期は、cn*igであってもよい。ωは、この周期に対応する周波数であってもよい。acncは、n段目の展開パラメータであってもよい。周波数ω、0段目の展開パラメータac及びn段目の展開パラメータacncはそれぞれ以下の通りであってもよい。
【0084】
【数16】
【0085】
【数17】
【0086】
【数18】
【0087】
1/(cn)は、目標チャンネル記述関数c_0(t)に対応するデューティ比であってもよい。理解できるように、複数の第一周波数領域成分は、n個の第一周波数領域成分を含んでもよい。n番目の第一周波数領域成分は、acnccos(nωt)であってもよい。
【0088】
また、読取周期関数l(t)に対してn段のフーリエ展開を行ってもよい。
【0089】
【数19】
【0090】
読取周期関数l(t)の周期は、ldであってもよい。ωは、この周期に対応する周波数であってもよい。alnlは、n段目の展開パラメータであってもよい。周波数ω、0段目の展開パラメータal及びn段目の展開パラメータalnlはそれぞれ以下の通りであってもよい。
【0091】
【数20】
【0092】
【数21】
【0093】
【数22】
【0094】
col/ldは、読取周期関数l(t)に対応するデューティ比であってもよい。理解できるように、複数の第二周波数領域成分は、n個の第二周波数領域成分を含んでもよい。n番目の第二周波数領域成分は、alnlcos(nωt)であってもよい。
【0095】
読取周期情報及び目標チャンネル記述情報をそれぞれフーリエ展開した後、複数の第一周波数領域成分及び複数の第二周波数領域成分を取得することができる。次に、いくつかの実施例において、プロセッサは、複数の第一周波数領域成分及び複数の第二周波数領域成分に基づいて、プロセッサが測定すべきデータブロックを読み取るアクセス効率を決定するように構成されてもよい。
【0096】
例えば、複数の第一周波数領域成分及び複数の第二周波数領域成分に基づいて、積分値
【数23】
を決定してもよい。積分値
【数24】
は、以下の通りであってもよい。
【0097】
【数25】
【数26】
【0098】
また、例えば、中間パラメータp(n,n)が設定されてもよく、中間パラメータp(n,n)は、以下の通りであってもよい。
【0099】
【数27】
【数28】
【0100】
sinc( )は、sinc関数であってもよい。
【0101】
よって、式23及び式24に基づいて、積分値を決定することができる。
【0102】
【数29】
【0103】
次に、プロセッサは、複数のチャンネルの数、測定すべきデータブロックのサイズ情報及び積分値に基づいて、アクセス効率を決定してもよい。例えば、式25及び式10に従って、アクセス効率を決定することができる。一例では、nは、5であってもよく、nも5であってもよい。
【0104】
本開示の実施例において、プロセッサが測定すべきデータブロックのアクセス効率を読み取ることは、プロセッサが複数のチャンネルを介してメモリから並列に測定すべきデータブロックを読み取る場合、複数のチャンネルにおけるデータ伝送負荷の均一性を表すことができる。本開示の実施例によれば、測定すべきデータブロックのサイズ情報(データ読取オフセット、列数及び行数)を決定した場合、チャンネル間の競合程度を正確に決定することができる。また、サイズ情報に基づいてアクセス効率を決定し、良い汎化能力があり、異なるサイズのデータブロックに適応することができ、データ読取オフセットが様々な値である場合に、アクセス効率を正確に決定することもできる。さらに、アクセス効率を向上させ、チャンネル競合を低減するように、ブロック分割方式を調整することができる。
【0105】
理解できるように、以上、本開示の電子機器について説明したが、以下、本開示のメモリアクセス効率を決定する方法について説明する。
【0106】
図5は、本開示の一実施例に係るメモリアクセス効率を決定する方法のフローチャートである。
【0107】
図5に示すように、当該方法500は、操作S510乃至操作S530を含んでもよい。
【0108】
操作S510において、メモリから複数のデータブロック中の測定すべきデータブロックを読み取る。
【0109】
操作S520において、測定すべきデータブロックのサイズに基づいて、アクセス記述情報を決定する。
【0110】
本開示の実施例において、アクセス記述情報は、読取周期情報及びデータ読取区間を含む。
【0111】
操作S530において、アクセス記述情報およびチャンネル記述情報に基づいて、測定すべきデータブロックを読み取るアクセス効率を決定する。
【0112】
本開示の実施例において、チャンネル記述情報は、メモリから処理すべきデータを読み取る複数のチャンネルを記述する。
【0113】
理解できるように、方法500は、プロセッサ120によって実行され得る。また理解できるように、方法500は、メモリ110に関連するアクセス効率を決定し得る。
【0114】
いくつかの実施例において、処理すべきデータ読取サイズ情報は、データ読取オフセット、行数及び列数を含む。読取周期情報は、周期的方形波として表され、方形波の有効幅は列数であり、周期的方形波の周期はデータ読取オフセットに基づいて決定される。データ読取区間は、データ読取オフセットと行数に基づいて決定される。
【0115】
いくつかの実施例において、アクセス記述情報及びチャンネル記述情報に基づいて、プロセッサが測定すべきデータブロックを読み取るメモリアクセス効率を決定することは、複数のチャンネルのうちの目標チャンネルを決定することを含む。例えば、目標チャンネルが複数のチャンネルを利用して並列にメモリから測定すべきデータブロックを読み取る場合、データ伝送負荷が最大となるチャンネルである。目標チャンネルの目標チャンネル記述情報を決定する。例えば、目標チャンネル記述情報は、目標チャンネルのチャンネル帯域幅を含む。データ読取区間における読取周期情報及び目標チャンネル記述情報の積分値に基づいて、プロセッサが測定すべきデータブロックを読み取るアクセス効率を決定する。
【0116】
いくつかの実施例において、データ読取区間における読取周期情報及び目標チャンネル記述情報の積分値に基づいて、プロセッサが測定すべきデータブロックを読み取るアクセス効率を決定することは、複数のチャンネルの数、測定すべきデータブロックのサイズ及び積分値に基づいて、プロセッサが測定すべきデータブロックを読み取るアクセス効率を決定することを含む。
【0117】
いくつかの実施例において、データ読取区間における読取周期情報及び目標チャンネル記述情報の積分値に基づいて、プロセッサが測定すべきデータブロックを読み取るアクセス効率を決定することは、読取周期情報の複数の第一周波数領域成分を決定し、目標チャンネル記述情報の複数の第二周波数領域成分を決定することを含む。複数の第一周波数領域成分および複数の第二周波数領域成分に基づいて、プロセッサが測定すべきデータブロックを読み取るアクセス効率を決定する。
【0118】
いくつかの実施例において、読取周期情報の複数の第一周波数領域成分を決定し、目標チャンネル記述情報の複数の第二周波数領域成分を決定することは、読取周期情報に対してフーリエ段数展開を行い、複数の第一周波数領域成分を得ることを含む。目標チャンネル記述情報に対してフーリエ段数展開を行い、複数の第二周波数領域成分を得る。
【0119】
いくつかの実施例において、プロセッサが測定すべきデータブロックを読み取るアクセス効率は、プロセッサが複数のチャンネルを介してメモリから測定すべきデータブロックを並列に読み取る場合、複数のチャンネルにおけるデータ伝送負荷の均一性を表す。
【0120】
本開示の技術案において、かかるユーザ個人情報の収集、記憶、使用、加工、伝送、提供及び公開などの処理は、いずれも関連法律の規定に適合し、公序良俗に反しない。
【0121】
本開示の実施例によれば、本開示はさらに電子機器、可読記憶媒体及びコンピュータプログラム製品を提供する。
【0122】
図6は、本開示の実施例の例示電子機器600を実施するための例示的なブロック図を示す。電子機器600は、例えば、ラップトップ型コンピュータ、デスクトップコンピュータ、作業台、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータという様々な形式のデジタルコンピュータを表示することを意図する。電子機器は、さらに、例えば、パーソナルデジタルアシスタント、携帯電話、スマートフォン、ウェアラブルデバイス及び他の類似の計算装置という様々な形式の移動装置を表示してもよい。本明細書に示された部材、それらの接続及び関係、及びそれらの機能は例示に過ぎず、本明細書に記載された及び/又は要求された本開示の実現を限定するものではない。
【0123】
図6に示すように、電子機器600は、計算手段601を含み、それはリードオンリーメモリ(ROM)602に記憶されたコンピュータプログラム又は記憶手段608からランダムアクセスメモリ(RAM)603にロードされたコンピュータプログラムに基づいて、様々な適切な動作及び処理を実行することができる。RAM 603には、さらに電子機器600の操作に必要な様々なプログラム及びデータを記憶することができる。計算手段601、ROM 602、およびRAM 603は、バス604を介して相互に接続されている。バス604には、入出力(I/O)インタフェース605も接続されている。
【0124】
電子機器600における複数の部品は、I/Oインタフェース605に接続され、例えばキーボード、マウス等の入力手段606と、例えば様々な種別のディスプレイ、スピーカ等の出力手段607と、例えば磁気ディスク、光ディスク等の記憶手段608と、例えばネットワークカード、モデム、無線通信トランシーバ等の通信手段609とを含む。通信手段609は、電子機器600がインターネット等のコンピュータネットワーク及び/又は各種の電気通信網を介して他のデバイスと情報/データをやり取りすることを可能にする。
【0125】
計算手段601は、処理及び計算能力を有する各種の汎用及び/又は専用の処理モジュールであってもよい。計算手段601の幾つかの例としては、中央処理装置(CPU)、GPU(Graphics Processing Unit)、各種専用の人工知能(AI)演算チップ、各種機械学習モデルアルゴリズムの計算手段、DSP(Digital Signal Processor)、並びに任意の適切なプロセッサ、コントローラ、マイクロコントローラ等が挙げられるが、これらに限定されない。計算手段601は、例えばメモリアクセス効率の決定方法のような前記記載された各方法と処理を実行する。例えば、いくつかの実施例において、メモリアクセス効率の決定方法は、例えば記憶手段608のような機械可読媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現されてもよい。いくつかの実施例において、コンピュータプログラムの一部又は全部は、ROM1002及び/又は通信手段609を介して電子機器600にロード及び/又はインストールされてもよい。コンピュータプログラムがRAM1003にロードされて計算手段601により実行される場合、前記記載されたメモリアクセス効率の決定方法の1つ又は複数のステップを実行してもよい。代替的に、別の実施例において、計算手段601は、他の任意の適切な形態(例えば、ファームウェアを介する)によりメモリアクセス効率の決定方法を実行するように構成されてもよい。
【0126】
本明細書で説明されたシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現されてもよい。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムにおいて実施され、該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラムブルプロセッサを含むプログラムブルシステムで実行され及び/又は解釈されることが可能であり、該プログラムブルプロセッサは、専用又は汎用のプログラムブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、かつデータ及び命令を該記憶システム、該少なくとも1つの入力装置、及び該少なくとも1つの出力装置に伝送することができることを含んでもよい。
【0127】
本開示の方法を実施するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせで作成されてもよい。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ又は他のプログラムブルデータ処理装置のプロセッサ又はコントローラに提供されてもよく、それによって、プログラムコードがプロセッサ又はコントローラにより実行される時に、フローチャート及び/又はブロック図に規定された機能/操作が実施される。プログラムコードは、機器に完全に実行されてもよく、部分的に機器で実行されてもよく、独立したソフトウェアパッケージとして部分的に機器で実行され、かつ部分的に遠隔機器で実行されるか又は完全に遠隔機器又はサーバで実行されてもよい。
【0128】
本開示のコンテキストにおいて、機械可読媒体は、有形の媒体であってもよく、命令実行システム、装置又は電子機器に使用され、又は命令実行システム、装置又は機器と組み合わせて使用されるプログラムを含んで又は記憶してもよい。機械可読媒体は、機械可読信号媒体又は機械可読記憶媒体であってもよい。機械可読媒体は、電子の、磁気的、光学的、電磁的、赤外線の、又は半導体システム、装置又は電子機器、又は前記内容の任意の適切な組み合わせを含んでもよいが、それらに限定されない。機械可読記憶媒体のより具体的な例としては、1つ以上の線による電気的接続、携帯式コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバ、コンパクトディスクリードオンリーメモリ(CD-ROM)、光学記憶装置、磁気記憶装置、又は前記内容の任意の適切な組み合わせを含む。
【0129】
ユーザとのインタラクションを提供するために、コンピュータにここで説明されたシステム及び技術を実施させてもよく、該コンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)ディスプレイ又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを備え、ユーザは、該キーボード及び該ポインティングデバイスを介して入力をコンピュータに提供することができる。他の種別の装置は、さらにユーザとのインタラクションを提供してもよく、例えば、ユーザに提供されたフィードバックは、いかなる形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、かついかなる形式(音声入力、語音入力又は触覚入力を含む)でユーザからの入力を受信してもよい。
【0130】
ここで説明されたシステム及び技術は、バックグラウンド部品を含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェア部品を含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンド部品を含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザが該グラフィカルユーザインタフェース又は該ネットワークブラウザを介してここで説明されたシステム及び技術の実施形態とインタラクションすることができる)、又はこのようなバックグラウンド部品、ミドルウェア部品、又はフロントエンド部品のいずれかの組み合わせを含むコンピューティングシステムに実施されることが可能である。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によりシステムの部品を互いに接続することができる。通信ネットワークの例としては、局所エリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)及びインターネットを例示的に含む。
【0131】
コンピュータシステムは、クライアント及びサーバを含んでよい。クライアントとサーバ同士は、一般的に離れており、通常、通信ネットワークを介してインタラクションする。クライアントとサーバとの関係は、該当するコンピュータ上でランニングし、クライアント-サーバの関係を有するコンピュータプログラムによって生成される。
【0132】
理解されるべきこととして、以上に示された様々な形式のフローを使用してもよく、ステップを改めてソーティングしたり、付加したり又は削除してもよい。例えば、本発明に記載の各ステップは、並列的に実行されたり、順次に実行されたり、又は異なる順序で実行されてもよく、本開示の技術案の所望の結果を実現することができれば、本明細書はここで限定されない。
【0133】
前記具体的な実施形態は、本開示の保護範囲を限定するものではない。当業者であれば、設計要件及び他の要因に応じて、様々な修正、組み合わせ、サブコンビネーション及び代替を行うことが可能であると理解すべきである。本開示の精神と原則内で行われた任意の修正、均等置換及び改良などは、いずれも本開示の保護範囲内に含まれるべきである。
図1
図2A
図2B
図2C
図3A
図3B
図4A
図4B
図4C
図5
図6