International Symposium on Microarchitecture · 2001 · 62 citations · 30 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureSchedulingCluster ArchitectureInstruction SchedulingMicroarchitecture DesignMulticore Processor DesignProcessor MicroarchitectureRegister AllocationCluster AssignmentClustered MultiprocessorsCode Generation For Partitioned SystemsGraph-based PartitioningPartitioning AlgorithmsProcessor ConfigurationProcessor PartitioningSpill Code Insertion
This paper presents a novel scheme to schedule loops for clustered microarchitectures. The scheme is based on a preliminary cluster assignment phase implemented through graph partitioning techniques followed by a scheduling phase that integrates register allocation and spill code generation. The graph partitioning scheme is shown to be very effective due to its global view of the whole code while the partition is generated. Results show a significant speedup when compared with previously proposed techniques. For some processor configuration the average speedup for the SPECfp95 is 23% with respect to the published scheme with the best performance. Besides, the proposed scheme is much faster (between 2-7 times, depending on the configuration).
30
R. Ho, Mark Horowitz · Proceedings of the IEEE · 2001 · 1.4K citations
Monica S. Lam · ACM SIGPLAN Notices · 2004 · 890 citations
B. Ramakrishna Rau · 1994 · 708 citations · Full text