In recent researches on thread partitioning, partitioning algorithm break a thread at the long latency operation and merge threads to get the longer threads under the given constraints. Due to this limitation, even a program with little parallelism is...
In recent researches on thread partitioning, partitioning algorithm break a thread at the long latency operation and merge threads to get the longer threads under the given constraints. Due to this limitation, even a program with little parallelism is partitioned into small-sized threads and context-switchings occur frequently. In this paper, we propose another method array localization for multithreaded code generation. To localize array, we first analyze the element access patterns to extract information about the array name, dependence distance(the difference of accessed element index from loop index), and the element usage that indicates whether element is used of defined. Using this information, we con allocate array elements to the node where the corresponding loop activation is executed. By array localization. remote access to array elements can be replaced with local accesses to localizes array elements. As a result, the boundaries of some threads are removed, programs can be partitioned into the larger threads and the number of context switching reduced.