101. 線形回帰演算の並列化手法の応用によるDOACROSSループの並列実行
- Abstract
本稿では、ループ運搬依存を含むループ(DOACROSSループ)の並列化に、線形回帰演算の並列化手法を応用する方法について述べる。本手法は、ループのイタレーションの一つ一つを回帰演算の処理単位とみなして線形回帰演算の並列化手法を適用するものである。従来のループ並列化手法とは異なり、ループ全体から並列実行可能な成分を切り分けないため、ループインスタンス内に自然に存在しているデータ局所性が乱されない。アルゴリズム変換により総計算量が増加するものの、粒度は大きく保たれ、計算処理を全てのプロセッサが分担できることから台数効果を得やすい。実験では、細粒度並列処理でしか効果が上がらないと言われる微小ループでも、並列化により数倍程度の高速化が可能であることが確かめられた。, In this paper, we show a method of parallel execution of DOACROSS loops utilizing parallel execution techniques for linear recurrences. The method is able to make every processor in a system participate essential computation unlike such methods as normal DOACROSS execution and pipelining, which have critical paths in computation and cannot necessarily utilize all of the processors in a system. A drawback of the method shown in this paper is the increase of the amount of computation in order to cut serial chains of dependences. Experimental results show the method is feasible enough and efficient on both shared-memory systems and distributed-machine environments.
- Published
- 2001