Patent ID: 8312442
Filing Date: 2012-11-13
Classification: G06F

Abstract:
1. A method of interprocedural prefetching for runtime automatic parallelization in a computing system, the computing system performing runtime automatic parallelization wherein when a parallelized loop is encountered, a main thread shares workload with at least one other non-main thread, and wherein an amount of cache is shared, the method comprising: receiving source code including a loop; compiling the source code to produce compiled code having a main thread including a parallelized loop, the parallelized loop corresponding to the source code loop, wherein prior to the parallelized loop in the main thread, the main thread includes prefetching instructions to prefetch data into the shared cache for use by the at least one other non-main thread; analyzing a loop body of the source code loop to determine at least one prefetch candidate, wherein for at least one reference to a prefetch candidate, the main thread includes prefetching instructions for the at least one reference, prior to the parallelized loop in the main thread; and inserting prefetching instructions into the main thread prior to the parallelized loop corresponding to a prefetch ahead value divided by a cache line size associated with the shared cache.