120 likes | 324 Views
Circuit Placement w/ Multi-core Processors. Design Presentation. May 10-02 Mike Drob Grant Furgiuele Ben Winters. Advisor: Dr. Chris Chu Client: IBM. Project Overview. Circuit Placement problem is bottleneck of physical design Currently only single-core – no threads
E N D
Circuit Placement w/ Multi-core Processors Design Presentation May 10-02 Mike Drob Grant Furgiuele Ben Winters Advisor: Dr. Chris Chu Client: IBM
Project Overview • Circuit Placement problem is bottleneck of physical design • Currently only single-core – no threads • Will attempt to parallelize some functions of the FastPlace algorithm using the linux pthreads library. • Will implement RQL idea into FastPlace
Design Considerations • Paralellize certain CPU and time heavy functions • Profiled existing algorithm using gprof in Linux • Analyze ease of parallelizing parts of the algorithm • Spring potential energy calculation • Global Placesment (Matrix Problem) • Local refinement optimizations
Design Considerations (cont.) • Cores v. Threads • Speedup only continues with more cores if there are more threads • Specify number of cores at compilation time or at run time? • RQL concept • Nullify the spreading forces on a small portion of the modules with highest force • Leaves these modules at their quadratically optimal location
Paralellization Priorities • Using the ISPD2005 Benchmarks Global Placement Detailed Placement
Desired Performance Gains Unit Time Taken by Top 10 Most Time Consuming Functions vs. All Other Functions
Prototyping • Program which looped 10,000,000 times. • Took ~6.5 seconds on single core • With two threads on dual core, took ~3.5 seconds • With four threads on quad core, took ~2 seconds • Results not quite halved / fourthed due to overhead. • Thread creation overhead • System overhead
Testing Considerations • Frequent Testing • On a per method basis • Will use Valgrind to profile performance • Gprof doesn’t work with threaded programs • Testing done on a variety of systems • Test for consistant performance levels in comparable systems • Test for increased performance in more capable systems