adjusted kuf as shown in steps 260 270 of fig2 0062 fig4 illustrates certain of the actions performed in the present invention during step 275 of the flow diagram of fig2 during this step prefetch insertion and scheduling are performed prefetch insertion and scheduling include the following steps first prefetch ordering is determined at step 400 assume where kuf adjusted is the kernel unroll factor adjusted to account for u p the prefetch based unroll factor and k is the prefetch based unroll multiple the prefetches are preferably ordered in the same order in which the corresponding memory stream operations appear in the kernel alternatively prefetches for loads could be given priority over prefetches for stores resulting in an attempt to launch requests for input data early the number of prefetches inserted for u p copies of the kernel is where u p is the prefetch based unroll factor and p i is the prefetch unroll for stream i prefetches are then inserted in groups these groups preferably include three prefetches although pairs of prefetches may be needed for groups of store instructions other groupings or even variable groupings may also be employed these groups are evenly spaced out over ii u p machine cycles prefetches are placed before the first instruction in the group nearest the even spacing point for that group however branch delay slot problems may occur although such problems are unlikely normally inserting prefetches into the code does not affect it 39 s correctness this is so because prefetch instructions only attempt to move data closer to the processor in preparation for computation they do not interfere with the actual computation many modern processors have a feature called delayed branching this feature allows the processor to.