JP2021015419A - Computer system loaded with fpga accelerator, computer for constructing logical configuration in fpga accelerator, and control method - Google Patents

Computer system loaded with fpga accelerator, computer for constructing logical configuration in fpga accelerator, and control method Download PDF

Info

Publication number
JP2021015419A
JP2021015419A JP2019129359A JP2019129359A JP2021015419A JP 2021015419 A JP2021015419 A JP 2021015419A JP 2019129359 A JP2019129359 A JP 2019129359A JP 2019129359 A JP2019129359 A JP 2019129359A JP 2021015419 A JP2021015419 A JP 2021015419A
Authority
JP
Japan
Prior art keywords
computer system
fpga accelerator
logical configuration
processing
logical
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.)
Pending
Application number
JP2019129359A
Other languages
Japanese (ja)
Inventor
雄樹 近藤
Takeki Kondo
雄樹 近藤
雄一郎 青木
Yuichiro Aoki
雄一郎 青木
能毅 黒川
Yoshiki Kurokawa
能毅 黒川
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019129359A priority Critical patent/JP2021015419A/en
Publication of JP2021015419A publication Critical patent/JP2021015419A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

To increase a processing speed in a computer system loaded with an FPGA accelerator by allowing an appropriate logical configuration of the FPGA accelerator to be selected in response to a parameter change during the execution of processing.SOLUTION: In processing using an FPGA accelerator, configuration information indicating logical configurations to be loaded to the FPGA accelerator in accordance with parameters to be determined during the execution of a processing program and correspondence relations between the parameters and the logical configurations to be loaded is prepared and generated previously. When the processing is executed, a corresponding logical configuration is loaded to the FPGA accelerator in accordance with a parameter and the configuration information.SELECTED DRAWING: Figure 1

Description

本発明は、再構成可能なFPGA(Field Programmable Gate Array)に対し、論理構成を構築する技術に関する。 The present invention relates to a technique for constructing a logical configuration for a reconfigurable FPGA (Field Programmable Gate Array).

近年、計算機システムの処理能力向上を目的として、高速な演算が可能なデバイスを搭載してCPU(Central Processing Unit)の処理をFPGAにオフロードする計算機システムが提案されている。このような、CPUの処理をオフロードするデバイスをアクセラレータと呼ぶ。 In recent years, for the purpose of improving the processing capacity of a computer system, a computer system equipped with a device capable of high-speed calculation and offloading the processing of a CPU (Central Processing Unit) to an FPGA has been proposed. Such a device that offloads CPU processing is called an accelerator.

アクセラレータデバイスには種類があるが、特にハードウェア論理の再構成可能なFPGAデバイスが着目されており、処理内容に応じて適した演算回路を実装することによって、高速な処理を可能としている。 There are various types of accelerator devices, but FPGA devices that can reconfigure hardware logic are attracting particular attention, and high-speed processing is made possible by implementing appropriate arithmetic circuits according to the processing content.

一方、近年ではITリソースの利便性や利用効率の向上を目的としたサービス化が進展しており、計算機システムはマルチユーザ化、マルチテナント化が進んでいる。これに伴い、アクセラレータにオフロードする処理内容は、計算機を使用するユーザや処理のタイミングによって変更される。 On the other hand, in recent years, services have been developed for the purpose of improving the convenience and utilization efficiency of IT resources, and computer systems are becoming multi-user and multi-tenant. Along with this, the processing content to be offloaded to the accelerator is changed depending on the user who uses the computer and the processing timing.

特許文献1には、処理内容が記述されたプログラムを解析し、処理のどの部分をFPGAにオフロードすればよいかを、性能プロファイルや論理合成結果に基づいて提示する技術が開示されている。 Patent Document 1 discloses a technique of analyzing a program in which processing contents are described and presenting which part of the processing should be offloaded to the FPGA based on a performance profile and a logic synthesis result.

国際公開第2017/565548号International Publication No. 2017/565548

FPGAデバイスに実装する演算回路の論理構成は、処理の実行前に、処理内容が記述されたプログラムに基づいて論理合成を行うことにより得る必要があるが、論理合成には時間がかかるため、計算機システムへの処理実行指示があった後に論理合成を実施した場合、処理が高速であっても、論理合成にかかる時間が長く、全体として処理時間が長くなることが考えられる。 The logical configuration of the arithmetic circuit to be mounted on the FPGA device needs to be obtained by performing logic synthesis based on the program in which the processing contents are described before executing the processing. However, since logic synthesis takes time, the computer When logic synthesis is performed after a process execution instruction is given to the system, it is conceivable that the logic synthesis takes a long time and the processing time as a whole becomes long even if the processing speed is high.

オフロードする処理内容については、処理の種類、アルゴリズム自体が変更されるケースもあるが、特に近年、ニューラルネットワークを利用した機械学習のアルゴリズムにおいては、パラメータ(反復回数やベクタ次元等)が頻繁に変更されることが多く、これらパラメータは毎回、処理実行指示とともに与えられるため、パラメータ変更の度に論理合成を行う必要がある場合、処理の高速化は望めない。 Regarding the processing content to be offloaded, the type of processing and the algorithm itself may be changed, but in recent years, parameters (number of iterations, vector dimension, etc.) are frequently used especially in machine learning algorithms using neural networks. Since these parameters are often changed and are given together with the processing execution instruction each time, if it is necessary to perform logic synthesis each time the parameter is changed, speeding up of processing cannot be expected.

また、パラメータの取りうる範囲をあらかじめ想定し、全域をカバーする論理構成を予め合成しておく場合、パラメータに合わせてデータ幅やパイプライン段数を調整することができず、FPGAに無駄なリソースが発生して計算効率が低下する。 In addition, if the possible range of parameters is assumed in advance and the logical configuration covering the entire area is synthesized in advance, the data width and the number of pipeline stages cannot be adjusted according to the parameters, resulting in wasted resources in the FPGA. It occurs and the calculation efficiency decreases.

上記特許文献1によれば、処理内容が記述されたプログラムを解析し、性能プロファイルや論理合成結果に基づいて処理のどの部分をFPGAにオフロードする技術が開示されているが、与えられるパラメータに応じたFPGA論理構成を与えることについては言及されていない。 According to the above-mentioned Patent Document 1, a technique of analyzing a program in which processing contents are described and offloading which part of processing to FPGA based on a performance profile or a logic synthesis result is disclosed. No mention is made of giving the corresponding FPGA logic configuration.

そこで、本発明の目的では、処理実行時のパラメータ変化に対応して、適切なFPGAアクセラレータの論理構成を選択し、処理高速化を図ることを可能とするFPGAアクセラレータを搭載する計算機システム、FPGAアクセラレータに論理構成を構築する計算機、および制御方法を提供することにある。 Therefore, an object of the present invention is an FPGA accelerator, a computer system equipped with an FPGA accelerator that makes it possible to select an appropriate logical configuration of an FPGA accelerator in response to a parameter change during processing execution and to speed up processing. The purpose is to provide a computer for constructing a logical configuration and a control method.

上記課題を解決する計算機システムの一態様は、CPUとFPGAアクセラレータを搭載し、処理プログラムと処理プログラムの実行時に与えられるパラメータによって計算処理を行う計算機システムにおいて、計算処理の処理実行時に与えられるパラメータによって、FPGAアクセラレータにロードする論理構成を選択する選択部と、選択部によって選択された論理構成を、FPGAアクセラレータにロードするロード部と、FPGAアクセラレータは、ロード部によってロードされる論理構成を構成する演算回路とを有する。 One aspect of the computer system that solves the above problems is that in a computer system that is equipped with a CPU and an FPGA accelerator and performs calculation processing according to a processing program and parameters given at the time of executing the processing program, the parameters given at the time of processing the calculation processing are used. , A selection unit that selects the logical configuration to be loaded into the FPGA accelerator, a load unit that loads the logical configuration selected by the selection unit into the FPGA accelerator, and the FPGA accelerator is an operation that constitutes the logical configuration loaded by the loading unit. Has a circuit.

処理実行時に与えられるパラメータが変更された場合でも、処理を高速化することができる。 Even if the parameters given at the time of processing execution are changed, the processing can be speeded up.

また、パラメータの変化にFPGAアクセラレータの論理構成も合わせることができるため、FPGAアクセラレータの論理利用効率が向上する。また、それに伴って動作周波数向上し性能も向上する。 Further, since the logical configuration of the FPGA accelerator can be adjusted to the change of the parameter, the logical utilization efficiency of the FPGA accelerator is improved. In addition, the operating frequency is improved and the performance is also improved accordingly.

実施例の計算機システムのハードウェアブロック図である。It is a hardware block diagram of the computer system of an Example. 実施例の計算機システムの処理フローを示す図である。It is a figure which shows the processing flow of the computer system of an Example. 実施例の計算機システムのパラメータテーブルの一例を示す図である。It is a figure which shows an example of the parameter table of the computer system of an Example. 実施例の計算機システムの選択部の処理フローを示す図である。It is a figure which shows the processing flow of the selection part of the computer system of an Example.

以下、実施例を、図面を用いて説明する。なお、以下に説明する実施例は特許請求の範囲に係る発明を限定するものではなく、実施例の中で説明されている要素の組み合わせの全てが発明の解決手段に必須であるとは限らない。 Hereinafter, examples will be described with reference to the drawings. It should be noted that the examples described below do not limit the invention according to the claims, and not all combinations of elements described in the examples are essential for the means for solving the invention. ..

図1は、実施例の計算機システム100の構成を示したものである。計算機システム110は中央演算装置(CPU)110、主記憶(MEM)120、記憶装置(STORAGE)130とを有する計算機101と、計算機101にPCIスロット150を介して接続されるFPGAアクセラレータ140とを有する。 FIG. 1 shows the configuration of the computer system 100 of the embodiment. The computer system 110 includes a computer 101 having a central processing unit (CPU) 110, a main storage (MEM) 120, and a storage device (STORAGE) 130, and an FPGA accelerator 140 connected to the computer 101 via a PCI slot 150. ..

CPU110は、FPGA論理構成を選択する選択部111と、FPGA論理構成をFPGAアクセラレータ140にロードするロード部112の機能を有する。選択部111やロード部112は、メモリに格納されたプログラムを実行することで実現される。 The CPU 110 has a function of a selection unit 111 for selecting the FPGA logical configuration and a load unit 112 for loading the FPGA logical configuration into the FPGA accelerator 140. The selection unit 111 and the load unit 112 are realized by executing a program stored in the memory.

メモリ120には、処理内容を示すプログラム(他のプログラムとの混同を防止するため、処理プログラムと呼ぶ)121と、処理プログラム121の実行指示とともに指定されるパラメータ122を格納する。これらは、実行時にはCPU110に読み込まれる。 The memory 120 stores a program (called a processing program in order to prevent confusion with other programs) 121 indicating the processing content and a parameter 122 designated together with the execution instruction of the processing program 121. These are read into the CPU 110 at the time of execution.

記憶装置130には、FPGA論理構成を示すコンフィグレーションファイル131と、パラメータとFPGA論理構成の対応を示すパラメータテーブル132とを格納する。 The storage device 130 stores a configuration file 131 indicating the FPGA logical configuration and a parameter table 132 indicating the correspondence between the parameters and the FPGA logical configuration.

FPGAアクセラレータ140には、演算回路141が実装される。 An arithmetic circuit 141 is mounted on the FPGA accelerator 140.

コンフィグレーションファイル131はパラメータ122とともに、選択部111によって参照される。選択部111は、FPGA論理構成を示すコンフィグレーションファイル131のうち、処理プログラム121の実行に適したものを選択する。 The configuration file 131, along with the parameter 122, is referenced by the selection unit 111. The selection unit 111 selects a configuration file 131 that shows the FPGA logical configuration, which is suitable for executing the processing program 121.

コンフィグレーションファイル131により示されるFPGA論理構成は、選択部111によって選択され、ロード部112によってFPGAアクセラレータ140にロードされる。FPGAアクセラレータ140は、ロードされたFPGA論理構成に従い演算回路141を構築する。 The FPGA logical configuration shown by the configuration file 131 is selected by the selection unit 111 and loaded into the FPGA accelerator 140 by the loading unit 112. The FPGA accelerator 140 constructs the arithmetic circuit 141 according to the loaded FPGA logic configuration.

記憶装置130に格納されるコンフィグレーションファイル131は、例えば、論理構成を示す内容と、その識別子である識別子Aが対応して記憶されている。また、パラメータテーブル132は、図4のパラメータ2〜mに示すように、反復回数、ベクタ次元、パイプライン数等の各パラメータと論理構成を識別する識別子Bとが対応して管理されている。尚、コンフィグレーションファイル131の識別子Aとパラメータテーブル132の識別子Bとは対応する情報である。 In the configuration file 131 stored in the storage device 130, for example, the content indicating the logical configuration and the identifier A, which is an identifier thereof, are stored in correspondence with each other. Further, in the parameter table 132, as shown in the parameters 2 to m of FIG. 4, each parameter such as the number of repetitions, the vector dimension, and the number of pipelines is managed in correspondence with the identifier B for identifying the logical configuration. The identifier A of the configuration file 131 and the identifier B of the parameter table 132 are corresponding information.

尚、計算機101に複数のFPGAアクセラレータ140を接続することもでき、その場合、各FPGAアクセラレータ140に処理させる内容(処理プログラム121の内、各FPGAアクセラレータ140によって行わせる処理)からパラメータ122を読み出し、各FPGAにロードすればよい。 It should be noted that a plurality of FPGA accelerators 140 can be connected to the computer 101, and in that case, the parameter 122 is read from the contents to be processed by each FPGA accelerator 140 (the processing to be performed by each FPGA accelerator 140 in the processing program 121). It may be loaded into each FPGA.

図2は、実施例の計算機システムにおける処理のフローを示したものである。 FIG. 2 shows a processing flow in the computer system of the embodiment.

ステップS201は処理の第一ステップであり、前述の選択部111を実行することを示す。ステップS201で、選択部111はパラメータテーブル132を参照し、FPGAアクセラレータ140にオフロードする処理のパラメータから、対応する論理構成の識別子Bを取得し、取得した識別子Bに対応する識別子Aに対応するコンフィグレーションファイル131に格納されている論理構成を選択する。つまり、FPGA論理構成を示すコンフィグレーションファイル131のうち、処理プログラム121の実行に適したものを選択する。 Step S201 is the first step of the process, and indicates that the selection unit 111 described above is executed. In step S201, the selection unit 111 refers to the parameter table 132, acquires the identifier B of the corresponding logical configuration from the parameters of the process of offloading to the FPGA accelerator 140, and corresponds to the identifier A corresponding to the acquired identifier B. Select the logical configuration stored in the configuration file 131. That is, among the configuration files 131 showing the FPGA logical configuration, the one suitable for executing the processing program 121 is selected.

ステップS202は第二のステップであり、前出のロード部112を実行することを示す。ステップS202で、ロード部112は、選択部111で選択したコンフィグレーションファイル131が示すFPGAの論理構成をFPGAアクセラレータ140にロードする。 Step S202 is the second step, and indicates that the load unit 112 described above is executed. In step S202, the load unit 112 loads the FPGA logical configuration indicated by the configuration file 131 selected by the selection unit 111 into the FPGA accelerator 140.

ステップS203は第三のステップであり、前述処理プログラム121を実行することを示し、この順番で処理が実行される。 Step S203 is a third step, indicating that the processing program 121 is to be executed, and the processing is executed in this order.

図3は、パラメータテーブル132のフォーマットを示す。 FIG. 3 shows the format of the parameter table 132.

パラメータ1(311、321)はパラメータ122に含まれる1種類目のパラメータ種に対する一致条件を示すフィールドであり、条件は、数値の範囲や文字列のパターンを示す正規表現などにより示される。このフィールドは、例えば、処理実行のためのパラメータとパラメータテーブル132の各パラメータ2〜mの一致の判断を行うための重み付けのような役目を果たす。 Parameter 1 (311 and 321) is a field indicating a matching condition for the first type of parameter type included in parameter 122, and the condition is indicated by a regular expression indicating a range of numerical values or a character string pattern. This field serves, for example, a weighting for determining a match between the parameter for processing execution and each parameter 2 to m in the parameter table 132.

パラメータ2(312、322)はパラメータ122に含まれる2種類目のパラメータ種に対する一致条件を示すフィールドであり、313、323はm種類目に対するものである。パラメータ種の数は可変である。パラメータ2には、例えば、反復回数、ベクタ次元、パイプライン数等のパラメータが含まれる。 Parameter 2 (312, 322) is a field indicating a matching condition for the second type of parameter type included in parameter 122, and 313 and 323 are for the mth type. The number of parameter types is variable. Parameter 2 includes, for example, parameters such as the number of iterations, the vector dimension, and the number of pipelines.

対応する論理構成314、324はFPGA論理構成131のうち処理プログラム121の実行に適したものを示すフィールドである。例えば、FPGAの論理構成に対応する識別子Bが登録される。 The corresponding logical configurations 314 and 324 are fields indicating the FPGA logical configurations 131 suitable for execution of the processing program 121. For example, the identifier B corresponding to the logical configuration of the FPGA is registered.

311、312、313、314の組で1行目となり、321、322、323、324の組でn行目となる。行の数は可変である。 The set of 311, 312, 313, 314 is the first line, and the set of 321, 322, 323, 324 is the nth line. The number of rows is variable.

図4は、処理の第一ステップである選択部111の処理フローを示したものである。 FIG. 4 shows a processing flow of the selection unit 111, which is the first step of processing.

計算機システム100で、処理プログラム121の処理が開始されると、処理フローが開始される。 When the processing of the processing program 121 is started in the computer system 100, the processing flow is started.

ステップS401では、処理プログラム121の実行指示とともに、処理プログラム121を実行するための指定されたパラメータ122、例えば、反復回数、ベクタ次元、パイプライン数等のパラメータを取得する。 In step S401, along with the execution instruction of the processing program 121, the designated parameters 122 for executing the processing program 121, for example, parameters such as the number of iterations, the vector dimension, and the number of pipelines are acquired.

ステップS402では、パラメータテーブル132を読み込む。 In step S402, the parameter table 132 is read.

ステップS403においては、パラメータテーブル132の着目行にあるパラメータ条件と、パラメータ122を比較する。比較の結果、一致となった場合はステップS404のステップに進み、不一致の場合はステップS405のステップに進む。 In step S403, the parameter condition in the row of interest in the parameter table 132 is compared with the parameter 122. As a result of the comparison, if they match, the process proceeds to step S404, and if they do not match, the process proceeds to step S405.

ステップS404においては、パラメータテーブル132の着目行に示されている、FPGA論理構成のうち処理プログラム121の実行に適したものを取得する。例えば、論理構成に対応する識別子Bを取得し、パラメータテーブル132から取得した識別子Bに対応する識別子Aを基にコンフィグレーションファイル131からFPGAの論理構成を取得する。 In step S404, the FPGA logical configuration shown in the row of interest in the parameter table 132, which is suitable for execution of the processing program 121, is acquired. For example, the identifier B corresponding to the logical configuration is acquired, and the logical configuration of the FPGA is acquired from the configuration file 131 based on the identifier A corresponding to the identifier B acquired from the parameter table 132.

ステップS405では、パラメータテーブル132の着目行が最終行であるかどうかを判定する。最終行でない場合はステップS406に進み、最終行の場合はステップS407に進む。 In step S405, it is determined whether or not the row of interest in the parameter table 132 is the last row. If it is not the last line, the process proceeds to step S406, and if it is the last line, the process proceeds to step S407.

ステップS406においては、パラメータテーブル132の着目行を次の行に進め、ステップS403に戻る。 In step S406, the row of interest in the parameter table 132 is advanced to the next row, and the process returns to step S403.

ステップS407では、パラメータテーブル132内にパラメータ122に対応する行が見つからなかったことを示すエラーを送信し、処理を終了する。 In step S407, an error indicating that the row corresponding to the parameter 122 was not found in the parameter table 132 is transmitted, and the process ends.

図4に示した選択部111の処理フローに基づくと、パラメータ122が、フィールド311、312、313に示されるパラメータ一致条件と一致した場合には、フィールド314に示される処理プログラム121の実行に適したFPGA論理構成131が選択される。 Based on the processing flow of the selection unit 111 shown in FIG. 4, when the parameter 122 matches the parameter matching condition shown in the fields 311, 312, 313, it is suitable for executing the processing program 121 shown in the field 314. The FPGA logical configuration 131 is selected.

図2に示した処理フローに基づくと、続いてロード部112によってFPGAアクセラレータ140にロードされ、演算回路141が実装される。FPGAアクセラレータにFPGA論理構成131をロードする手段については、例えばFPGAアクセラレータデバイスのドライバ等を用いることによって実現できる。 Based on the processing flow shown in FIG. 2, the load unit 112 subsequently loads the FPGA accelerator 140, and the arithmetic circuit 141 is mounted. The means for loading the FPGA logical configuration 131 into the FPGA accelerator can be realized by using, for example, a driver of the FPGA accelerator device.

最後に、処理プログラム121が実行される。処理プログラム121はFPGAアクセラレータ140に実装された演算回路141に対して入力データを送信、演算結果である出力データを受信することで、演算処理を行う。FPGAアクセラレータ140に実装された演算回路141に対して入出力を行う手段については、例えばFPGAアクセラレータデバイスのドライバ等を用いることによって実現できる。 Finally, the processing program 121 is executed. The processing program 121 performs arithmetic processing by transmitting input data to the arithmetic circuit 141 mounted on the FPGA accelerator 140 and receiving output data which is an arithmetic result. The means for inputting / outputting to the arithmetic circuit 141 mounted on the FPGA accelerator 140 can be realized by using, for example, a driver of the FPGA accelerator device.

処理実行時に与えられるパラメータが変更された場合でも、FPGAアクセラレータを用いた計算機システムの処理が高速化される。 Even if the parameters given at the time of processing execution are changed, the processing speed of the computer system using the FPGA accelerator is increased.

また、パラメータの変化にFPGAアクセラレータの論理構成も合わせることができるため、FPGAアクセラレータの論理利用効率が向上し、また、それに伴って動作周波数向上し性能も向上する。 Further, since the logical configuration of the FPGA accelerator can be adjusted to the change of the parameter, the logical utilization efficiency of the FPGA accelerator is improved, and the operating frequency is improved and the performance is also improved accordingly.

110:中央演算装置、
111:選択部、
112:ロード部、
120:主記憶、
121:プログラム、
122:パラメータ、
130:記憶装置、
131:FPGA論理構成を含むコンフィグレーションファイル、
132:パラメータテーブル、
140:FPGAアクセラレータ、
141:演算回路。
110: Central processing unit,
111: Selection part,
112: Road section,
120: Main memory,
121: Program,
122: Parameter,
130: Storage device,
131: Configuration file containing FPGA logical configuration,
132: Parameter table,
140: FPGA Accelerator,
141: Arithmetic circuit.

Claims (11)

CPUとFPGAアクセラレータを搭載し、処理プログラムと前記処理プログラムの実行時に与えられるパラメータによって計算処理を行う計算機システムにおいて、
前記CPUは、
前記計算処理の処理実行時に与えられるパラメータによって、前記FPGAアクセラレータにロードする論理構成を選択する選択部と、
前記選択部によって選択された論理構成を、前記FPGAアクセラレータにロードするロード部と、
を有し、
前記FPGAアクセラレータは、前記ロード部によってロードされる論理構成を構成する演算回路とを有する
ことを特徴とする計算機システム。
In a computer system equipped with a CPU and an FPGA accelerator and performing calculation processing according to a processing program and parameters given when the processing program is executed.
The CPU
A selection unit that selects the logical configuration to be loaded into the FPGA accelerator according to the parameters given when the calculation process is executed.
A load unit that loads the logical configuration selected by the selection unit into the FPGA accelerator, and
Have,
The FPGA accelerator is a computer system including an arithmetic circuit constituting a logical configuration loaded by the loading unit.
請求項1に記載の計算機システムであって、
前記計算機システムの前記計算処理は、前記FPGAアクセラレータに構成された前記演算回路による演算結果によって与えられることを特徴とする計算機システム。
The computer system according to claim 1.
A computer system characterized in that the calculation processing of the computer system is given by a calculation result by the calculation circuit configured in the FPGA accelerator.
請求項1に記載の計算機システムであって、
複数の論理構成と第1の識別子とを対応して管理するコンフィグレーションファイルと、パラメータと論理構成の第2の識別子との対応関係を管理するパラメータテーブルとを格納する記憶装置を有することを特徴とする計算機システム。
The computer system according to claim 1.
It is characterized by having a storage device that stores a configuration file that manages a plurality of logical configurations and a first identifier correspondingly, and a parameter table that manages a correspondence relationship between a parameter and a second identifier of the logical configuration. Computer system.
請求項3に記載の計算機システムであって、
前記選択部は、前記処理プログラムの実行時のパラメータから前記記憶装置に格納される前記パラメータテーブルを参照して、前記コンフィグレーションファイルに格納される前記複数の論理構成から一つの論理構成を選択することを特徴とする計算機システム。
The computer system according to claim 3.
The selection unit refers to the parameter table stored in the storage device from the parameters at the time of execution of the processing program, and selects one logical configuration from the plurality of logical configurations stored in the configuration file. A computer system characterized by that.
FPGAアクセラレータを搭載し、処理プログラムと前記処理プログラムの実行時に与えられるパラメータによって計算処理を行う計算機システムにおける前記FPGAアクセラレータに論理構成をロードする計算機において、
前記計算機は、
処理実行時に与えられるパラメータによって、前記FPGAアクセラレータにロードする論理構成情報を選択する選択部と、
前記選択部によって与えられる論理構成情報を、前記FPGAアクセラレータにロードするロード部と、
有することを特徴とする計算機。
In a computer equipped with an FPGA accelerator and loading a logical configuration into the FPGA accelerator in a computer system that performs calculation processing according to a processing program and parameters given at the time of execution of the processing program.
The calculator
A selection unit that selects the logical configuration information to be loaded into the FPGA accelerator according to the parameters given at the time of processing execution.
A load unit that loads the logical configuration information given by the selection unit into the FPGA accelerator, and
A computer characterized by having.
CPUとFPGAアクセラレータを搭載し、処理プログラムと前記処理プログラムの処理実行時に与えられるパラメータによって計算処理を行う計算機システムの制御方法であって、
前記CPUの選択部によって、処理実行時に与えられるパラメータによってFPGAアクセラレータにロードする論理構成を選択するステップと、
前記CPUのロード部によって、前記選択するステップによって与えられる論理構成を、前記FPGAアクセラレータにロードするステップと、
を有することを特徴とする計算機システムの制御方法。
It is a control method of a computer system equipped with a CPU and an FPGA accelerator and performing calculation processing according to a processing program and parameters given at the time of processing execution of the processing program.
The step of selecting the logical configuration to be loaded into the FPGA accelerator according to the parameters given at the time of processing execution by the selection unit of the CPU, and
A step of loading the logical configuration given by the selected step by the load unit of the CPU into the FPGA accelerator, and a step of loading the logical configuration into the FPGA accelerator.
A method of controlling a computer system, characterized in that it has.
請求項6に記載の計算機システムの制御方法であって、
前記FPGAアクセラレータは論理構成のロードにより演算回路を構成し、
前記計算処理の結果は、前記FPGAアクセラレータに構成された演算回路による演算結果によって与えられることを特徴とする計算機システムの制御方法。
The method for controlling a computer system according to claim 6.
The FPGA accelerator constitutes an arithmetic circuit by loading a logical configuration.
A control method of a computer system, characterized in that the result of the calculation process is given by the calculation result of the calculation circuit configured in the FPGA accelerator.
請求項6に記載の計算機システムの制御方法であって、
前記選択するステップは、前記処理プログラムの実行時のパラメータから記憶装置に格納されるパラメータテーブルを参照して、コンフィグレーションファイルに格納される複数の論理構成から一つの論理構成を選択することを特徴とする計算機システムの制御方法。
The method for controlling a computer system according to claim 6.
The selection step is characterized in that one logical configuration is selected from a plurality of logical configurations stored in the configuration file by referring to the parameter table stored in the storage device from the parameters at the time of execution of the processing program. The control method of the computer system.
請求項8に記載の計算機システムの制御方法であって、
前記選択するステップは、前記処理プログラムの実行時に与えられるパラメータと前記パラメータテーブルをロードするステップを有することを特徴とする計算機システムの制御方法。
The method for controlling a computer system according to claim 8.
A method for controlling a computer system, wherein the selected step includes a parameter given at the time of execution of the processing program and a step of loading the parameter table.
請求項9に記載の計算機システムの制御方法であって、
前記選択するステップは、
前記処理プログラムの実行時に与えられるパラメータと、パラメータと論理構成を示す第2の識別子との対応関係を管理する前記パラメータテーブルをアクセスするステップを有し、
前記第2の識別子と対応する第1の識別子に基づいて、前記コンフィグレーションファイルの複数の論理構成から一の論理構成を選択するステップを有することを特徴とする計算機システムの制御方法。
The method for controlling a computer system according to claim 9.
The step to be selected is
It has a step of accessing the parameter table that manages the correspondence between the parameter given at the time of executing the processing program and the second identifier indicating the logical configuration.
A method for controlling a computer system, which comprises a step of selecting one logical configuration from a plurality of logical configurations of the configuration file based on the first identifier corresponding to the second identifier.
請求項8に記載の計算機システムの制御方法であって、
前記選択するステップは、処理実行時に与えられるパラメータと前記パラメータテーブルに基づいて、前記FPGAアクセラレータの複数の論理構成を格納するコンフィグレーションファイルから、一つの論理構成を選択し、
前記ロードするステップは、前記選択するステップにより選択された論理構成を、前記FPGAアクセラレータにロードし、選択された論理構成を有する演算回路を前記FPGAアクセラレータに構築することを特徴とする計算機システムの制御方法。
The method for controlling a computer system according to claim 8.
The selection step selects one logical configuration from a configuration file that stores a plurality of logical configurations of the FPGA accelerator based on the parameters given at the time of processing execution and the parameter table.
The loading step is a control of a computer system characterized in that the logical configuration selected by the selected step is loaded into the FPGA accelerator and an arithmetic circuit having the selected logical configuration is constructed in the FPGA accelerator. Method.
JP2019129359A 2019-07-11 2019-07-11 Computer system loaded with fpga accelerator, computer for constructing logical configuration in fpga accelerator, and control method Pending JP2021015419A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019129359A JP2021015419A (en) 2019-07-11 2019-07-11 Computer system loaded with fpga accelerator, computer for constructing logical configuration in fpga accelerator, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019129359A JP2021015419A (en) 2019-07-11 2019-07-11 Computer system loaded with fpga accelerator, computer for constructing logical configuration in fpga accelerator, and control method

Publications (1)

Publication Number Publication Date
JP2021015419A true JP2021015419A (en) 2021-02-12

Family

ID=74530604

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019129359A Pending JP2021015419A (en) 2019-07-11 2019-07-11 Computer system loaded with fpga accelerator, computer for constructing logical configuration in fpga accelerator, and control method

Country Status (1)

Country Link
JP (1) JP2021015419A (en)

Similar Documents

Publication Publication Date Title
CN104364756B (en) The parallel processing of individual data buffer
EP3327566B1 (en) Encoding and decoding variable length instructions
US10372451B2 (en) Sequence alignment method of vector processor
KR102551277B1 (en) System and method for merge-join
US20200050640A1 (en) Sorting an array consisting of a large number of elements
US20210117375A1 (en) Vector Processor with Vector First and Multiple Lane Configuration
US10990073B2 (en) Program editing device, program editing method, and computer readable medium
KR102238600B1 (en) Scheduler computing device, data node of distributed computing system having the same, and method thereof
JP6812826B2 (en) Storage method, storage device and storage program
JP4310500B2 (en) Important component priority calculation method and equipment
CN114594954A (en) Code optimization method and device, computing equipment and computer storage medium
Echbarthi et al. Fractional greedy and partial restreaming partitioning: New methods for massive graph partitioning
JP2021015419A (en) Computer system loaded with fpga accelerator, computer for constructing logical configuration in fpga accelerator, and control method
KR101991579B1 (en) Parallel computation method of z-function for order-preserving pattern matching and order-preserving multiple pattern matching
CN111027688A (en) Neural network calculator generation method and device based on FPGA
WO2023050807A1 (en) Data processing method, apparatus, and system, electronic device, and storage medium
US8358653B1 (en) Generating a pipeline of a packet processor from a parsing tree
Davidson et al. Dynamic Circuit Specialisation for Key‐Based Encryption Algorithms and DNA Alignment
US8385340B1 (en) Pipeline of a packet processor programmed to concurrently perform operations
CN110955380A (en) Access data generation method, storage medium, computer device and apparatus
Abdolazimi et al. Connected components of big graphs in fixed mapreduce rounds
JP7042870B2 (en) Methods, devices, devices and computer-readable storage media performed by computing devices
JP5907607B2 (en) Processing arrangement method and program
JP6802109B2 (en) Software specification analyzer and software specification analysis method
CN106020776B (en) SIMD processing module