JP2010287110A - Information processor, information processing method, program, and recording medium - Google Patents
Information processor, information processing method, program, and recording medium Download PDFInfo
- Publication number
- JP2010287110A JP2010287110A JP2009141372A JP2009141372A JP2010287110A JP 2010287110 A JP2010287110 A JP 2010287110A JP 2009141372 A JP2009141372 A JP 2009141372A JP 2009141372 A JP2009141372 A JP 2009141372A JP 2010287110 A JP2010287110 A JP 2010287110A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- processing unit
- data
- data processing
- time
- 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.)
- Withdrawn
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
Description
本発明は、データ処理の高速化に関し、特に、グラフィックス描画処理と映像のエンコード処理やトランスコード処理とを同時に処理する情報処理装置において、負荷分散により処理の高速化を可能とする情報処理装置、情報処理方法、プログラム及び記録媒体に関する。 The present invention relates to high-speed data processing, and more particularly to an information processing apparatus capable of speeding up processing by load distribution in an information processing apparatus that simultaneously processes graphics rendering processing and video encoding processing and transcoding processing. The present invention relates to an information processing method, a program, and a recording medium.
従来、3次元演算が必要なグラフィックス描画処理などを高速に行うために、高い並列処理能力を持つグラフィックス描画処理専用のGPU(Graphics Processing Unit)が用いられてきたが、近年、用途をグラフィックス描画処理だけに限定せず、汎用の数値計算に使用する技術として、GPGPU(General Purpose Computation on Graphics Processing Unit)が登場した。GPGPUは、GPUの処理特性をもつため、汎用性の高いCPU(Central Processing Unit)と比較して、大量のデータを用いて、比較的単純な処理を並列処理することに向いており、3次元演算処理などに効果を発揮するが、反面、その特性と合わないプログラムは性能を期待できない。 Conventionally, a graphics processing unit (GPU) with high parallel processing capability has been used to perform graphics drawing processing that requires three-dimensional operations at high speed. GPGPU (General Purpose Computation on Graphics Processing Unit) has emerged as a technique used for general-purpose numerical computations. Since GPGPU has the processing characteristics of GPU, it is suitable for parallel processing of relatively simple processes using a large amount of data compared to a highly versatile CPU (Central Processing Unit). While effective for arithmetic processing, etc., on the other hand, a program that does not match its characteristics cannot be expected to perform.
なお、複数のGPUにグラフィックス描画処理を振り分けて、負荷をバランスする装置が例えば特許文献1に記載されている。 An apparatus that distributes graphics rendering processing to a plurality of GPUs and balances the load is described in, for example, Patent Document 1.
ところで、上述したGPGPUは、単純なデータを大量に並列処理することに向いている。このため、従来、CPUで処理していた、映像のエンコード処理やトランスコード処理をCPUに代わって行うことにより、処理を高速化できると共に、CPUへの負担を減らすことができる。 By the way, the above-mentioned GPGPU is suitable for processing a large amount of simple data in parallel. For this reason, by performing the video encoding processing and transcoding processing, which have been conventionally performed by the CPU, instead of the CPU, the processing can be speeded up and the burden on the CPU can be reduced.
しかし、GPGPUにおいて、映像のエンコード処理やトランスコード処理のような、単独で実行すれば効果が出るプログラム処理であっても、高負荷かつ負荷変動の予測できないグラフィックス描画処理、たとえば、3次元動画の描画処理として、3次元画像を生成するための頂点計算や、影の演算などで代表される演算処理を実行している状況において、映像のエンコード処理を並列実行した場合、GPGPU演算を行う処理部と3次元演算処理を行うH/Wは、全体または一部を兼用してタイムシェアすることになる為、GPGPUは高負荷状態となって処理が間に合わなくなる。その結果、3次元動画の描画処理では動画の滑らかさが失われ、リアルタイム性を要求される映像のエンコード処理ではコマ落ちが発生するという不具合が起こる。 However, in GPGPU, even if it is a program process that produces an effect when executed alone, such as video encoding process or transcoding process, a graphics drawing process with high load and unpredictable load variation, for example, 3D video If the video encoding process is executed in parallel in the situation where the vertex calculation for generating the three-dimensional image and the arithmetic process represented by the shadow calculation are executed as the drawing process of the image, the process of performing the GPGPU calculation The H / W that performs the three-dimensional calculation process with the part is time-shared with the whole or a part, so that the GPGPU is in a high load state and the process is not in time. As a result, the smoothness of the moving image is lost in the rendering process of the three-dimensional moving image, and a frame drop occurs in the encoding process of the video that requires real-time performance.
すなわち、一般的にマルチタスク環境では処理の重いタスクがあると他のタスク処理に影響が出るが、従来はCPUで処理していた映像のエンコード処理をGPGPUで処理することによって、本来のGPGPUのリアルタイム性を要求される表示画面の描画処理が間に合わなくなってしまうのは問題である。 In other words, generally in a multitasking environment, if there are heavy tasks, other task processing will be affected, but by processing the video encoding processing that was conventionally processed by the CPU with GPGPU, the original GPGPU It is a problem that drawing processing of a display screen that requires real-time performance is not in time.
そこで、本発明は、グラフィックス描画処理と映像のエンコード処理やトランスコード処理を並列実行する情報処理装置において、GPGPUとCPUの負荷状態を推定し、さらに処理対象の特性に基づいて、映像のエンコード処理あるいはトランスコード処理における各処理ステップを、GPGPUあるいはCPUのどちらの処理として割り振るかを決定することで、処理負荷を分散し、処理の高速化を可能とする情報処理装置及び情報処理方法を提供することを目的とする。 Therefore, the present invention estimates the load state of the GPGPU and CPU in an information processing apparatus that executes graphics rendering processing, video encoding processing, and transcoding processing in parallel, and further encodes video based on the characteristics of the processing target. Information processing apparatus and information processing method capable of distributing processing load and speeding up processing by deciding whether each processing step in processing or transcoding processing is allocated as GPGPU or CPU processing The purpose is to do.
本発明の情報処理装置は、複数のデータ処理手段と、複数の処理単位から成る処理対象の、最初に処理する第1の処理単位を、前記複数のデータ処理手段にて各実行し、処理に要する時間を比較する処理時間比較手段と、前記処理時間比較手段の比較結果に基づき、前記第1の処理単位の次に処理する第2の処理単位以降を、前記複数のデータ処理手段のいずれかで実行させる制御手段と、を有することを特徴とする。 The information processing apparatus of the present invention executes a first processing unit to be processed first, which is a processing target composed of a plurality of data processing means and a plurality of processing units, by the plurality of data processing means. Based on the comparison result of the processing time comparing means for comparing the required time and the processing time comparing means, the second processing unit to be processed next to the first processing unit is one of the plurality of data processing means. And control means to be executed in step (b).
本発明の情報処理装置は、複数のデータ処理手段と、複数の処理単位から成る処理対象の、最初に処理する第1の処理単位を、前記複数のデータ処理手段にて各実行し、処理に要する時間を比較する処理時間比較手段と、前記処理時間比較手段の比較結果において、前記複数のデータ処理手段の処理に要する各時間の差がすべて所定時間以内の場合、前記第1の処理単位の次に処理する第2の処理単位を、前記複数のデータ処理手段にて各実行し、処理に要する時間を比較する第2の処理時間比較手段と、前記第2の処理時間比較手段の比較結果に基づき、前記第2の処理単位の次に処理する第3の処理単位以降を、前記複数のデータ処理手段のいずれかで実行させる制御手段と、を有することを特徴とする。 The information processing apparatus of the present invention executes a first processing unit to be processed first, which is a processing target composed of a plurality of data processing means and a plurality of processing units, by the plurality of data processing means. In the comparison result of the processing time comparing means for comparing the required time and the processing time comparing means, if the time differences required for the processing of the plurality of data processing means are all within a predetermined time, the first processing unit The second processing unit to be processed next is executed by the plurality of data processing means, and the comparison result of the second processing time comparing means for comparing the time required for the processing and the second processing time comparing means And a control unit that causes a third processing unit to be processed next to the second processing unit to be executed by any one of the plurality of data processing units.
本発明の情報処理方法は、複数のデータ処理手段と、複数の処理単位から成る処理対象の、最初に処理する第1の処理単位を、前記複数のデータ処理手段にて各実行し、処理に要する時間を比較する処理時間比較手段と、前記処理時間比較手段の比較結果に基づき、前記第1の処理単位の次に処理する第2の処理単位以降を、前記複数のデータ処理手段のいずれかで実行させる制御手段と、を有することを特徴とする。 According to the information processing method of the present invention, a plurality of data processing units and a first processing unit to be processed first, which is a processing target composed of a plurality of processing units, are executed by the plurality of data processing units. Based on the comparison result of the processing time comparing means for comparing the required time and the processing time comparing means, the second processing unit to be processed next to the first processing unit is one of the plurality of data processing means. And control means to be executed in step (b).
本発明の情報処理方法は、複数のデータ処理ステップと、複数の処理単位から成る処理対象の、最初に処理する第1の処理単位を、前記複数のデータ処理ステップにて各実行し、処理に要する時間を比較する処理時間比較ステップと、前記処理時間比較ステップの比較結果において、前記複数のデータ処理ステップの処理に要する各時間の差がすべて所定時間以内の場合、前記第2の処理単位を、前記複数のデータ処理ステップにて各実行し、処理に要する時間を比較する第2の処理時間比較ステップと、前記第2の処理時間比較ステップの比較結果に基づき、前記第2の処理単位の次に処理する第3の処理単位以降を、前記複数のデータ処理ステップのいずれかで実行させる制御ステップと、を有することを特徴とする。 In the information processing method of the present invention, a first processing unit to be processed first, which is a processing target composed of a plurality of data processing steps and a plurality of processing units, is executed at each of the plurality of data processing steps. In the comparison result of the processing time comparison step for comparing the required time and the comparison result of the processing time comparison step, when the difference between the times required for the processing of the plurality of data processing steps is all within a predetermined time, the second processing unit is The second processing unit is executed in each of the plurality of data processing steps, and the second processing unit is compared based on the comparison result of the second processing time comparison step for comparing the time required for processing and the second processing time comparison step. And a control step for executing the third processing unit to be processed next in any of the plurality of data processing steps.
本発明のプログラムは、複数のデータ処理ステップと、複数の処理単位から成る処理対象の、最初に処理する第1の処理単位を、前記複数のデータ処理ステップにて各実行し、処理に要する時間を比較する処理時間比較ステップと、前記処理時間比較ステップの比較結果に基づき、前記第1の処理単位の次に処理する第2の処理単位以降を、前記複数のデータ処理ステップのいずれかで実行させる制御ステップと、をコンピュータに実行させることを特徴とする。 The program of the present invention executes a first processing unit to be processed first, which is a processing target composed of a plurality of data processing steps and a plurality of processing units, at each of the plurality of data processing steps, and takes a time required for the processing. A processing time comparison step for comparing the first processing unit and a second processing unit to be processed next to the first processing unit based on a comparison result of the processing time comparison step in any of the plurality of data processing steps And a control step for causing the computer to execute the control step.
本発明のプログラムは、複数のデータ処理ステップと、複数の処理単位から成る処理対象の、最初に処理する第1の処理単位を、前記複数のデータ処理ステップにて各実行し、処理に要する時間を比較する処理時間比較ステップと、前記処理時間比較ステップの比較結果において、前記複数のデータ処理ステップの処理に要する各時間の差がすべて所定時間以内の場合、前記第2の処理単位を、前記複数のデータ処理ステップにて各実行し、処理に要する時間を比較する第2の処理時間比較ステップと、前記第2の処理時間比較ステップの比較結果に基づき、前記第2の処理単位の次に処理する第3の処理単位以降を、前記複数のデータ処理ステップのいずれかで実行させる制御ステップと、をコンピュータに実行させることを特徴とする。 The program of the present invention executes a first processing unit to be processed first, which is a processing target composed of a plurality of data processing steps and a plurality of processing units, at each of the plurality of data processing steps, and takes a time required for the processing. In the comparison results of the processing time comparison step and the processing time comparison step, when all the time differences required for the processing of the plurality of data processing steps are within a predetermined time, the second processing unit is Next to the second processing unit based on the comparison result of the second processing time comparison step and the second processing time comparison step, each of which is executed in a plurality of data processing steps and compares the time required for processing. A control step of causing a computer to execute a third processing unit to be processed and the subsequent steps in any one of the plurality of data processing steps is characterized.
本発明の記録媒体は、上記本発明に係るプログラムの処理を記録するコンピュータ読取り可能な記録媒体である。 The recording medium of the present invention is a computer-readable recording medium for recording the processing of the program according to the present invention.
本発明によれば、情報処理装置において、特に、グラフィックス描画処理と映像のエンコード処理やトランスコード処理を並列実行する情報処理装置において、処理の高速化を可能とする情報処理装置及び情報処理方法を提供することができる。 According to the present invention, an information processing apparatus and an information processing method capable of speeding up processing in an information processing apparatus, particularly in an information processing apparatus that executes graphics rendering processing and video encoding processing and transcoding processing in parallel. Can be provided.
以下に、本発明の実施形態について図面を用いて詳細に説明する。なお、以下に述べる実施形態は、本発明の好適な実施形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。 Embodiments of the present invention will be described below in detail with reference to the drawings. The embodiments described below are preferred embodiments of the present invention, and thus various technically preferable limitations are given. However, the scope of the present invention is particularly limited in the following description. As long as there is no description of the effect, it is not restricted to these aspects.
図1は、本発明の実施形態に係る情報処理装置の機能構成図である。情報処理装置1に表示装置2が接続されている。 FIG. 1 is a functional configuration diagram of an information processing apparatus according to an embodiment of the present invention. A display device 2 is connected to the information processing device 1.
図1に示すように、情報処理装置1は、汎用データ処理部11、データコピー部12、データ格納部13、処理時間比較部14、GPGPU15、から構成される。また、GPGPU15は、並列データ処理部151、データ格納部152、から構成される。
As shown in FIG. 1, the information processing apparatus 1 includes a general-purpose
汎用データ処理部11は、様々な数値計算や情報処理、機器制御などを行う機能を有する(並列データ処理部151と比較して、より汎用的なデータ処理を行う機能を有する)。
The general-purpose
データコピー部12は、GPGPU15のデータ格納部152からデータ格納部13へ、また、データ格納部13からデータ格納部152へ格納されているデータの全てまたは一部をコピーする機能を有する。なお、データコピー部12は、GPGPU15の機能の一つとして構成される場合もある。
The data copy unit 12 has a function of copying all or part of data stored in the data storage unit 152 from the data storage unit 152 of the GPGPU 15 and from the
データ格納部13は、GPGPU15のデータ格納部152からコピーしたデータを格納する機能を有し、汎用データ処理部11の処理対象データとして、読み出しや書き出しが可能である。汎用データ処理部11は、データ格納部13に格納されたデータを読み出して処理を行い、得られた処理結果について、再びデータ格納部13に書き込む。
The
処理時間比較部14は、汎用データ処理部およびGPGPU15の並列データ処理部において、処理実行に要する時間を計測し、その計測時間を比較する機能を有する。 The processing time comparison unit 14 has a function of measuring time required for processing execution in the general-purpose data processing unit and the parallel data processing unit of the GPGPU 15 and comparing the measurement times.
GPGPU15は、並列データ処理部151、データ格納部152から構成される。データ格納部152には、処理対象となるデータが格納されており、並列データ処理部151の処理対象データとして、読み出しや書き出しが可能である。並列データ処理部151は、データ格納部152に格納されたデータを読み出して処理を行い、得られた処理結果について、再びデータ格納部152へ書き込む機能を有する。並列データ処理部151は、汎用データ処理部11と比較して、大量のデータを用いて、比較的単純な処理を並列処理することに向いており、3次元動画のグラフィック描画処理や、映像のエンコード処理、トランスコード処理などにおいてより高い処理能力を発揮する。
The GPGPU 15 includes a parallel data processing unit 151 and a data storage unit 152. Data to be processed is stored in the data storage unit 152, and can be read and written as processing target data of the parallel data processing unit 151. The parallel data processing unit 151 has a function of reading and processing data stored in the data storage unit 152 and writing the obtained processing result to the data storage unit 152 again. The parallel data processing unit 151 is suitable for parallel processing of relatively simple processing using a large amount of data as compared with the general-purpose
しかし、例えば、並列データ処理部151向きの処理(3次元動画のグラフィック描画処理など)と並列データ処理部151向きではない処理(すなわち、汎用データ処理部11向きの処理)が交互あらわれ、また前の処理結果に基づいて次の処理を実行する必要があるプログラムを想定した場合、このプログラムを効率的に実行するには、並列データ処理部151向きの処理は並列データ処理部151で処理し、並列データ処理部151向きでない処理は汎用データ処理部11で処理することを交互に行えば良さそうである。ところが、実際には、先行する処理の処理結果を、次の処理の入力データとして使用するため、処理部を切り替える毎に、データ格納部152とデータ格納部13の間でデータコピーを繰り返し実行する必要がある。つまり、処理オーバーヘッドの影響を考慮に入れる必要があり、特にそのデータサイズが大きくなる場合、コピー処理時間も大きくなるため、処理オーバーヘッドの影響は顕著である。そのため、処理対象のデータサイズが大きく、コピー処理コストが並列データ処理部151あるいは汎用データ処理部11における処理コストの効率化の効果を上回る場合、データ格納部152とデータ格納部13の間でデータコピーを繰り返し実行することは効率的でない。
However, for example, a process directed to the parallel data processing unit 151 (such as a graphic rendering process of a three-dimensional moving image) and a process not directed to the parallel data processing unit 151 (that is, a process directed to the general-purpose data processing unit 11) appear alternately. Assuming a program that needs to execute the following processing based on the processing result of, in order to efficiently execute this program, the processing for the parallel data processing unit 151 is processed by the parallel data processing unit 151, Processing that is not suitable for the parallel data processing unit 151 is likely to be performed by the general-purpose
図2は、本発明の実施形態に係る情報処理装置の動作処理を説明するための図である。 FIG. 2 is a diagram for explaining an operation process of the information processing apparatus according to the embodiment of the present invention.
ここでは一例として、映像の1フレームをエンコードする処理を、12の処理単位(A〜L)に分割して処理する場合について説明する。なお、図2の例では、処理単位AからLの順にエンコード処理が行われ、処理対象データの特性は画像から符号へと変化し、処理がAからLに進むにつれて、処理データサイズは小さくなっている。そして、これらの処理は繰り返し実行される。例えば、毎秒30フレームの映像では、処理単位A〜Lが1/30=33.3msのサイクルで繰り返し実行される。また、処理単位Aを単独で処理する(他のプログラム処理などの影響を考慮する必要がない)場合、汎用データ処理部11よりも、並列データ処理部151にて実行した場合の方がより短時間で効率よく処理できる傾向がある。この傾向は、処理単位Aについて最も顕著に現れ、処理単位B、処理単位C、となるにつれ、その傾向は薄れていき、処理単位Lでは、並列データ処理部151よりも、汎用データ処理部11で実行した場合の方がより短時間で効率よく処理できる傾向が出現してくる。これは、処理Aに近いほど、大量のデータに対して単純な処理を並列実行できる傾向が強く、処理Lに近くなるほど、符号を生成するために順序処理の傾向が増す為である。
Here, as an example, a case will be described in which processing for encoding one frame of video is divided into 12 processing units (A to L). In the example of FIG. 2, encoding processing is performed in the order of processing units A to L, the characteristics of the processing target data change from image to code, and the processing data size decreases as the processing proceeds from A to L. ing. These processes are repeatedly executed. For example, in a video of 30 frames per second, the processing units A to L are repeatedly executed in a cycle of 1/30 = 33.3 ms. Further, when processing unit A is processed alone (there is no need to consider the influence of other program processing, etc.), it is shorter when executed in parallel data processing unit 151 than in general
図2は、3つの処理パターン(パターン1〜3)を例示しており、黒丸は各処理単位について、並列データ処理部151と汎用データ処理部11のどちらで実行するかを示している。例えば、映像のエンコード処理フローの最初の処理単位Aは、「並列データ処理部」と「汎用データ処理部」の両方に黒丸があるので、両方の処理部で実行されることを、処理単位C以降(C〜L)は、3つのいずれの場合においても、「並列データ処理部」または「汎用データ処理部」のどちらかにしか黒丸がないので、どちらかの処理部で実行されることを示している。すなわち、図2の判断ポイントDP1あるいはDP2において、並列データ処理部が処理単位AあるいはBを終了する時間と、汎用データ処理部が処理単位AあるいはBを終了する時間とをそれぞれ比較判断して、並列データ処理部あるいは汎用データ処理部のどちらで以降の処理(処理単位C〜L)をどのようなパターンで実行するか決定することを示している。なお、判断ポイントDP1及びDP2の数や箇所はこの実施例にて限定するものではない。例えば、判断ポイントDP1を、複数の処理単位A〜Cをまとめて実行した後にしてもよい。
FIG. 2 illustrates three processing patterns (patterns 1 to 3), and the black circles indicate which of the processing units is executed by the parallel data processing unit 151 or the general-purpose
図3は、本発明の実施形態に係る情報処理装置の処理概要を示すフローチャートである。 FIG. 3 is a flowchart showing an outline of processing of the information processing apparatus according to the embodiment of the present invention.
データ格納部152に処理対象データが格納され、並列データ処理部151の処理対象となり(S301)、さらにデータ格納部13に処理対象データがコピーされ、汎用データ処理部11の処理対象となる(S302)。なお、データ格納部152及びデータ格納部13に処理対象データを格納(S301、S302)する順序はこの実施例にて限定するものではない。
Data to be processed is stored in the data storage unit 152 and becomes a processing target of the parallel data processing unit 151 (S301). Further, the data to be processed is copied to the
並列データ処理部151と汎用データ処理部11の両処理部で同じ処理単位Aを実行し(S303、S304)、両処理部での処理単位Aの処理時間を比較する(S305)。なお、両処理部での処理時間の比較は、ある一定時間の加減を行った上で比較しても良い。 The same processing unit A is executed by both processing units of the parallel data processing unit 151 and the general-purpose data processing unit 11 (S303, S304), and the processing times of the processing unit A in both processing units are compared (S305). Note that the processing times of both processing units may be compared after adjusting for a certain time.
処理単位Aの処理時間を比較した結果、並列データ処理部151の方が早く処理を完了した場合、並列データ処理部151で処理単位B〜Fを実行し(S306)、その処理結果データをデータ格納部13へコピーし(S307)、今度は汎用データ処理部11で処理単位G〜Lを実行する(S308)。(図2のパターン2(破線を含まないパターン:処理単位Bは並列データ処理部でのみ実行される)の処理フロー)
一方、処理単位Aの処理時間を比較した結果、汎用データ処理部11の方が早く処理を完了した場合、汎用データ処理部11にて後続処理B〜Lを実行する(S309)。(図2のパターン1(破線を含まないパターン:処理単位Bは汎用データ処理部でのみ実行される)の処理フロー)
図4は、本発明の実施形態に係る情報処理装置の並列データ処理から汎用データ処理へ移行するタイミングを変更した場合のフローチャートである。
As a result of comparing the processing time of the processing unit A, when the parallel data processing unit 151 completes the processing earlier, the parallel data processing unit 151 executes the processing units B to F (S306), and the processing result data is stored as data. The data is copied to the storage unit 13 (S307), and this time, the general
On the other hand, as a result of comparing the processing times of the processing units A, when the general-purpose
FIG. 4 is a flowchart in a case where the timing of shifting from parallel data processing to general-purpose data processing of the information processing apparatus according to the embodiment of the present invention is changed.
データ格納部152に処理対象データが格納され、並列データ処理部151の処理対象となり(S401)、さらにデータ格納部13に処理対象データがコピーされ、汎用データ処理部11の処理対象となる(S402)。
The processing target data is stored in the data storage unit 152 and becomes a processing target of the parallel data processing unit 151 (S401). Further, the processing target data is copied to the
並列データ処理部151と汎用データ処理部11の両処理部で同じ処理単位Aを実行し(S403、S404)、両処理部での処理単位Aの処理時間を比較する(S405)。 The same processing unit A is executed by both processing units of the parallel data processing unit 151 and the general-purpose data processing unit 11 (S403, S404), and the processing time of the processing unit A in both processing units is compared (S405).
処理単位Aの処理時間を比較した結果、並列データ処理部151の方が早く処理を完了した場合、並列データ処理部151で処理単位B〜Jを実行し(S406)、その処理結果データをデータ格納部13へコピーし(S407)、今度は汎用データ処理部11で処理単位K〜Lを実行する(S408)。(図2のパターン3(破線を含まないパターン:処理単位Bは並列データ処理部でのみ実行される)の処理フロー)
一方、処理単位Aの処理時間を比較した結果、汎用データ処理部11の方が早く処理を完了した場合、汎用データ処理部11にて後続処理B〜Lを実行する(S409)。(図2のパターン1(破線を含まないパターン:処理単位Bは汎用データ処理部でのみ実行される)の処理フロー)
図5は、本発明の実施形態に係る情報処理装置の並列データ処理と汎用データ処理の時間比較を2段階で判定する場合のフローチャートである。
As a result of comparing the processing time of the processing unit A, when the parallel data processing unit 151 completes the processing earlier, the parallel data processing unit 151 executes the processing units B to J (S406), and the processing result data is stored as data. The data is copied to the storage unit 13 (S407), and this time, the general-purpose
On the other hand, as a result of comparing the processing time of the processing unit A, when the general
FIG. 5 is a flowchart when the time comparison between the parallel data processing and the general-purpose data processing of the information processing apparatus according to the embodiment of the present invention is determined in two stages.
データ格納部152に処理対象データが格納され、並列データ処理部151の処理対象となり(S501)、さらにデータ格納部13に処理対象データがコピーされ、汎用データ処理部11の処理対象となる(S502)。
Data to be processed is stored in the data storage unit 152 and becomes a processing target of the parallel data processing unit 151 (S501). Further, the data to be processed is copied to the
並列データ処理部151と汎用データ処理部11の両処理部で同じ処理単位Aを実行し(S503、S504)、両処理部での処理単位Aの処理時間を比較する(S505)。 The same processing unit A is executed by both the parallel data processing unit 151 and the general-purpose data processing unit 11 (S503, S504), and the processing times of the processing unit A in both processing units are compared (S505).
処理単位Aの処理時間を比較した結果、並列データ処理部151の方が早く処理を完了した場合、並列データ処理部151で処理単位B〜Jを実行し(S506)、その処理結果データをデータ格納部13へコピーし(S507)、今度は汎用データ処理部11で処理単位K〜Lを実行する(S508)。(図2のパターン3(破線を含まないパターン:処理単位Bは並列データ処理部でのみ実行される)の処理フロー)
一方、処理単位Aの処理時間を比較した結果、汎用データ処理部11の方が早く処理を完了した場合、さらに並列データ処理部151と汎用データ処理部11の両処理部で同じ処理単位Bを実行し(S509、S510)、両処理部での処理単位Bの処理時間を比較する(S511)。
As a result of comparing the processing time of the processing unit A, when the parallel data processing unit 151 completes the processing earlier, the parallel data processing unit 151 executes the processing units B to J (S506), and the processing result data is stored as data. The data is copied to the storage unit 13 (S507), and this time, the general-purpose
On the other hand, as a result of comparing the processing time of the processing unit A, when the general-purpose
処理単位Bの処理時間を比較した結果、並列データ処理部151の方が早く処理を完了した場合、並列データ処理部151で処理単位C〜Jを実行し(S512)、その処理結果データをデータ格納部13へコピーし(S507)、今度は汎用データ処理部11で処理単位K〜Lを実行する(S508)。(図2のパターン3(破線を含むパターン:処理単位Bは両処理部で実行される)の処理フロー)
また一方、処理単位Bの処理時間を比較した結果、汎用データ処理部11の方が早く処理を完了した場合、汎用データ処理部11にて後続処理C〜Lを実行する(S513)。(図2のパターン1(破線を含むパターン:処理単位Bは両処理部で実行される)の処理フロー)
なお、上述した各実施形態は、本発明の好適な実施形態であり、上記各実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において当業者が上記各実施形態の修正や代用を行い、種々の変更を施した形態を構築することが可能である。
As a result of comparing the processing times of the processing unit B, when the parallel data processing unit 151 completes the processing earlier, the parallel data processing unit 151 executes the processing units C to J (S512), and the processing result data is stored as data. The data is copied to the storage unit 13 (S507), and this time, the general-purpose
On the other hand, as a result of comparing the processing time of the processing unit B, when the general
Each of the above-described embodiments is a preferred embodiment of the present invention, and the scope of the present invention is not limited to only the above-described embodiments, and those skilled in the art do not deviate from the gist of the present invention. It is possible to construct a form in which various modifications are made by modifying or substituting the embodiment.
例えば、上述した実施形態における制御動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成によって実行することも可能である。 For example, the control operation in the above-described embodiment can be executed by hardware, software, or a combined configuration of both.
なお、ソフトウェアによる処理を実行する場合には、処理シーケンスを記録したプログラムが格納されているROMから、専用のハードウェアに組み込まれているコンピュータ内のメモリ(RAM)にプログラムを読み込んで実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。 When executing processing by software, whether the program is read from the ROM storing the program recording the processing sequence to the memory (RAM) in the computer incorporated in the dedicated hardware and executed. Alternatively, the program can be installed and executed on a general-purpose computer capable of executing various processes.
1 情報処理装置
2 表示装置
11 汎用データ処理部
12 データコピー部
13 データ格納部
14 処理時間比較部
15 GPGPU
151 並列データ処理部
152 データ格納部
DESCRIPTION OF SYMBOLS 1 Information processing apparatus 2
151 Parallel Data Processing Unit 152 Data Storage Unit
Claims (10)
複数の処理単位から成る処理対象の、最初に処理する第1の処理単位を、前記複数のデータ処理手段にて各実行し、処理に要する時間を比較する処理時間比較手段と、
前記処理時間比較手段の比較結果に基づき、前記第1の処理単位の次に処理する第2の処理単位以降を、前記複数のデータ処理手段のいずれかで実行させる制御手段と、を有することを特徴とする情報処理装置。 A plurality of data processing means;
A first processing unit to be processed first, which is a processing target composed of a plurality of processing units, is executed by each of the plurality of data processing units, and a processing time comparison unit for comparing the time required for processing;
Control means for causing any one of the plurality of data processing means to execute a second processing unit to be processed next to the first processing unit based on the comparison result of the processing time comparison means. A characteristic information processing apparatus.
複数の処理単位から成る処理対象の、最初に処理する第1の処理単位を、前記複数のデータ処理手段にて各実行し、処理に要する時間を比較する処理時間比較手段と、
前記処理時間比較手段の比較結果において、前記複数のデータ処理手段の処理に要する各時間の差がすべて所定時間以内の場合、前記第1の処理単位の次に処理する第2の処理単位を、前記複数のデータ処理手段にて各実行し、処理に要する時間を比較する第2の処理時間比較手段と、
前記第2の処理時間比較手段の比較結果に基づき、前記第2の処理単位の次に処理する第3の処理単位以降を、前記複数のデータ処理手段のいずれかで実行させる制御手段と、を有することを特徴とする情報処理装置。 A plurality of data processing means;
A first processing unit to be processed first, which is a processing target composed of a plurality of processing units, is executed by each of the plurality of data processing units, and a processing time comparison unit for comparing the time required for processing;
In the comparison result of the processing time comparing means, when all the time differences required for the processing of the plurality of data processing means are within a predetermined time, a second processing unit to be processed next to the first processing unit, A second processing time comparing means for executing each of the plurality of data processing means and comparing the time required for the processing;
A control unit that causes a third processing unit to be processed next to the second processing unit to be executed by any one of the plurality of data processing units based on a comparison result of the second processing time comparison unit; An information processing apparatus comprising:
複数の処理単位から成る処理対象の、最初に処理する第1の処理単位を、前記複数のデータ処理ステップにて各実行し、処理に要する時間を比較する処理時間比較ステップと、
前記処理時間比較ステップの比較結果に基づき、前記第1の処理単位の次に処理する第2の処理単位以降を、前記複数のデータ処理ステップのいずれかで実行させる制御ステップと、を有することを特徴とする情報処理方法。 Multiple data processing steps;
A processing time comparison step of executing a first processing unit to be processed first, which is a processing target composed of a plurality of processing units, in each of the plurality of data processing steps and comparing the time required for the processing;
A control step for executing a second processing unit to be processed next to the first processing unit in one of the plurality of data processing steps based on a comparison result of the processing time comparison step. A characteristic information processing method.
複数の処理単位から成る処理対象の、最初に処理する第1の処理単位を、前記複数のデータ処理ステップにて各実行し、処理に要する時間を比較する処理時間比較ステップと、
前記処理時間比較ステップの比較結果において、前記複数のデータ処理ステップの処理に要する各時間の差がすべて所定時間以内の場合、前記第2の処理単位を、前記複数のデータ処理ステップにて各実行し、処理に要する時間を比較する第2の処理時間比較ステップと、
前記第2の処理時間比較ステップの比較結果に基づき、前記第2の処理単位の次に処理する第3の処理単位以降を、前記複数のデータ処理ステップのいずれかで実行させる制御ステップと、を有することを特徴とする情報処理方法。 Multiple data processing steps;
A processing time comparison step of executing a first processing unit to be processed first, which is a processing target composed of a plurality of processing units, in each of the plurality of data processing steps and comparing the time required for the processing;
In the comparison result of the processing time comparison step, when all the time differences required for the processing of the plurality of data processing steps are within a predetermined time, the second processing unit is executed in each of the plurality of data processing steps. A second processing time comparison step for comparing the time required for processing;
A control step of executing, in any one of the plurality of data processing steps, a third processing unit to be processed next to the second processing unit based on a comparison result of the second processing time comparison step; An information processing method comprising:
複数の処理単位から成る処理対象の、最初に処理する第1の処理単位を、前記複数のデータ処理ステップにて各実行し、処理に要する時間を比較する処理時間比較ステップと、
前記処理時間比較ステップの比較結果に基づき、前記第1の処理単位の次に処理する第2の処理単位以降を、前記複数のデータ処理ステップのいずれかで実行させる制御ステップと、をコンピュータに実行させることを特徴とするプログラム。 Multiple data processing steps;
A processing time comparison step of executing a first processing unit to be processed first, which is a processing target composed of a plurality of processing units, in each of the plurality of data processing steps and comparing the time required for the processing;
Based on the comparison result of the processing time comparison step, the computer executes a control step that causes a second processing unit to be processed after the first processing unit to be executed in any of the plurality of data processing steps. A program characterized by letting
複数の処理単位から成る処理対象の、最初に処理する第1の処理単位を、前記複数のデータ処理ステップにて各実行し、処理に要する時間を比較する処理時間比較ステップと、
前記処理時間比較ステップの比較結果において、前記複数のデータ処理ステップの処理に要する各時間の差がすべて所定時間以内の場合、前記第2の処理単位を、前記複数のデータ処理ステップにて各実行し、処理に要する時間を比較する第2の処理時間比較ステップと、
前記第2の処理時間比較ステップの比較結果に基づき、前記第2の処理単位の次に処理する第3の処理単位以降を、前記複数のデータ処理ステップのいずれかで実行させる制御ステップと、をコンピュータに実行させることを特徴とするプログラム。 Multiple data processing steps;
A processing time comparison step of executing a first processing unit to be processed first, which is a processing target composed of a plurality of processing units, in each of the plurality of data processing steps and comparing the time required for the processing;
In the comparison result of the processing time comparison step, when all the time differences required for the processing of the plurality of data processing steps are within a predetermined time, the second processing unit is executed in each of the plurality of data processing steps. A second processing time comparison step for comparing the time required for processing;
A control step of executing, in any one of the plurality of data processing steps, a third processing unit to be processed next to the second processing unit based on a comparison result of the second processing time comparison step; A program characterized by being executed by a computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009141372A JP2010287110A (en) | 2009-06-12 | 2009-06-12 | Information processor, information processing method, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009141372A JP2010287110A (en) | 2009-06-12 | 2009-06-12 | Information processor, information processing method, program, and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010287110A true JP2010287110A (en) | 2010-12-24 |
Family
ID=43542754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009141372A Withdrawn JP2010287110A (en) | 2009-06-12 | 2009-06-12 | Information processor, information processing method, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010287110A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014505946A (en) * | 2011-01-14 | 2014-03-06 | クゥアルコム・インコーポレイテッド | Computation resource pipeline in general-purpose graphics processing equipment |
JP2014102683A (en) * | 2012-11-20 | 2014-06-05 | Fujitsu Ltd | Control program of information processor, method for controlling information processor, and information processor |
CN104081449A (en) * | 2012-01-27 | 2014-10-01 | 高通股份有限公司 | Buffer management for graphics parallel processing unit |
US8955027B1 (en) | 2013-11-21 | 2015-02-10 | Google Inc. | Transcoding media streams using subchunking |
CN105451031A (en) * | 2015-11-18 | 2016-03-30 | 腾讯科技(深圳)有限公司 | Video transcoding method and system thereof |
JP2016085503A (en) * | 2014-10-23 | 2016-05-19 | 日本電気株式会社 | Information processing device, information processing method, and information processing program |
-
2009
- 2009-06-12 JP JP2009141372A patent/JP2010287110A/en not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014505946A (en) * | 2011-01-14 | 2014-03-06 | クゥアルコム・インコーポレイテッド | Computation resource pipeline in general-purpose graphics processing equipment |
JP2016006657A (en) * | 2011-01-14 | 2016-01-14 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Computational resource pipelining in general purpose graphics processing unit |
US9804995B2 (en) | 2011-01-14 | 2017-10-31 | Qualcomm Incorporated | Computational resource pipelining in general purpose graphics processing unit |
CN104081449A (en) * | 2012-01-27 | 2014-10-01 | 高通股份有限公司 | Buffer management for graphics parallel processing unit |
JP2014102683A (en) * | 2012-11-20 | 2014-06-05 | Fujitsu Ltd | Control program of information processor, method for controlling information processor, and information processor |
US8955027B1 (en) | 2013-11-21 | 2015-02-10 | Google Inc. | Transcoding media streams using subchunking |
US9179183B2 (en) | 2013-11-21 | 2015-11-03 | Google Inc. | Transcoding media streams using subchunking |
JP2016085503A (en) * | 2014-10-23 | 2016-05-19 | 日本電気株式会社 | Information processing device, information processing method, and information processing program |
CN105451031A (en) * | 2015-11-18 | 2016-03-30 | 腾讯科技(深圳)有限公司 | Video transcoding method and system thereof |
CN105451031B (en) * | 2015-11-18 | 2021-11-30 | 腾讯科技(深圳)有限公司 | Video transcoding method and system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6793228B2 (en) | Sheet generator for image processor | |
KR101973733B1 (en) | Architecture for high performance, power efficient, programmable image processing processing | |
US9870639B2 (en) | Graphic processing unit and method of performing, by graphic processing unit, tile-based graphics pipeline | |
TWI645371B (en) | Setting downstream render state in an upstream shader | |
JP4030519B2 (en) | Image processing apparatus and image processing system | |
US20140176588A1 (en) | Technique for storing shared vertices | |
US9418616B2 (en) | Technique for storing shared vertices | |
JP2008176788A (en) | Three-dimensional graphics accelerator and its pixel distributing method | |
TW201621810A (en) | Enhanced anti-aliasing by varying sample patterns spatially and/or temporally | |
JP2010287110A (en) | Information processor, information processing method, program, and recording medium | |
CN111279384B (en) | Compression and decompression of indices in a graphics pipeline | |
KR102495792B1 (en) | variable wavefront size | |
KR102188543B1 (en) | Graphic processing unit | |
US9558573B2 (en) | Optimizing triangle topology for path rendering | |
KR20210002753A (en) | Compiler support technology to reduce the memory usage of the graphics pipeline | |
TW201435581A (en) | Triggering performance event capture via pipelined state bundles | |
US11004251B2 (en) | Automatic configuration of knobs to optimize performance of a graphics pipeline | |
KR102442080B1 (en) | How to Control Wave Generation with Dynamic Resource Allocation | |
US9830731B2 (en) | Methods of a graphics-processing unit for tile-based rendering of a display area and graphics-processing apparatus | |
US10373367B2 (en) | Method of rendering 3D image and image outputting device thereof | |
US10417736B2 (en) | Graphics processing unit and method of controlling cache bypass thereof | |
US20160284043A1 (en) | Graphics processing | |
KR20190109413A (en) | Export Out of Order Pixel Shaders | |
US10062138B2 (en) | Rendering apparatus and method | |
JP2023525725A (en) | Data compression method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20110511 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20110706 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120904 |