Table of Contents Author Guidelines Submit a Manuscript
International Journal of Reconfigurable Computing
Volume 2009 (2009), Article ID 514754, 9 pages
http://dx.doi.org/10.1155/2009/514754
Research Article

Speeding Up FPGA Placement via Partitioning and Multithreading

Electrical and Computer Engineering, North Dakota State University, Fargo, ND 58108-6050, USA

Received 5 June 2009; Revised 15 October 2009; Accepted 12 November 2009

Academic Editor: Marco Platzner

Copyright © 2009 Cristinel Ababei. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Linked References

  1. K. Asanovic, R. Bodik, B. Catanzaro et al., “The landscape of parallel computing research: a view from Berkeley,” Tech. Rep. UCB/EECS-2006-183, EECS Department, University of California at Berkeley, Berkeley, Calif, USA, 2006. View at Google Scholar
  2. C. McNairy and R. Bhatia, “Montecito: a dual-core, dual-thread itanium processor,” IEEE Micro, vol. 25, no. 2, pp. 10–20, 2005. View at Publisher · View at Google Scholar
  3. S. Borkar, P. Dubey, K. Kahn et al., “Platform 2015: intel processor and platform evolution for the next decade,” August 2005. View at Google Scholar
  4. “Intel Quad-Core Technology,” 2006, http://www.intel.com/technology/#quad-core.
  5. J. Friedrich, B. McCredie, N. James et al., “Design of the Power6 microprocessor,” in Proceedings of the International Solid-State Circuit Conference (ISSCC '07), pp. 96–97, San Francisco, Calif, USA, Febraury 2007. View at Publisher · View at Google Scholar
  6. J. Dorsey, S. Searles, M. Ciraula et al., “An integrated quad-core opteron processor,” in Proceedings of the IEEE International Solid-State Circuits Conference (ISSCC '07), pp. 102–103, San Francisco, Calif, USA, Febraury 2007. View at Publisher · View at Google Scholar
  7. UltraSPARC T2 Processor, 2007, http://www.sun.com/processors/UltraSPARC-T2/.
  8. S. Gill, “Parallel programming,” The Computer Journal, vol. 1, no. 1, pp. 2–10, 1958. View at Google Scholar
  9. G. V. Wilson, “The history of the development of parallel computing,” 1994, http://ei.cs.vt.edu/~history/Parallel.html.
  10. G. R. Andrews, Foundations of Multithreaded, Parallel, and Distributed Programming, Addison Wesley, New York, NY, USA, 1999.
  11. T. R. Halfhill, “Parallel processing with CUDA,” 2009, http://www.nvidia.com/content/404/nvidia.asp.
  12. V. Betz and J. Rose, “VPR: a new packing, placement and routing tool for FPGA research,” in Proceedings of the 7th International Workshop on Field Programmable Logic and Applications (FPL '97), pp. 213–222, London, UK, September 1997.
  13. S. A. Kravitz and R. A. Rutenbar, “Placement by simulated annealing on a multiprocessor,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 6, no. 4, pp. 534–549, 1987. View at Google Scholar · View at Scopus
  14. A. Ludwin, V. Betz, and K. Padalia, “High-quality, deterministic parallel placement for FPGAs on commodity hardware,” in Proceedings of the ACM/SIGDA 16th International Symposium on Field Programmable Gate Arrays (FPGA '08), pp. 14–23, Monterey, Calif, USA, February 2008. View at Publisher · View at Google Scholar · View at Scopus
  15. P. Banerjee, M. H. Jones, and J. S. Sargent, “Parallel simulated annealing algorithms for standard cell placement on hypercube multiprocessors,” IEEE Transactions on Parallel and Distributed Systems, vol. 1, no. 1, pp. 91–106, 1990. View at Google Scholar
  16. M. Haldar, A. Nayak, A. Choudhary, and P. Banerjee, “Parallel algorithms for FPGA placement,” in Proceedings of the 10th Great Lakes Symposium on VLSI (GLSVLSI '00), pp. 86–94, Chicago, Ill, USA, January 2000.
  17. J. A. Chandy, S. Kim, B. Ramkumar, S. Parkes, and P. Banerjee, “An evaluation of parallel simulated annealing strategies with application to standard cell placement,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 16, no. 4, pp. 398–410, 1997. View at Publisher · View at Google Scholar · View at Scopus
  18. P. K. Chan and M. D. Schlag, “Parallel placement for field-programmable gate arrays,” in Proceedings of the 11th ACM/SIGDA ACM International Symposium on Field Programmable Gate Arrays (FPGA '03), pp. 43–50, Monterey, Calif, USA, February 2003. View at Scopus
  19. P. K. Chan and M. D. Schlag, “Parallel FPGA placement with symmetric multiprocessors (SMPs) and vector functional units abstract,” in Proceedings of the 16th ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA '07), Monterey, Calif, USA, February 2007.
  20. C. Ababei, “Parallel placement for FPGAs revisited,” in Proceedings of the IEEE ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA '09), Monterey, Calif, USA, February 2009.
  21. R. H. Carver and K.-C. Tai, Modern Multithreading: Implementing, Testing, and Debugging Multithreaded Java and C++/Pthreads/Win32 Programs, Wiley-Interscience, New York, NY, USA, 2005.
  22. W. Gropp, E. Lusk, and A. Skjellum, Using MPI: Portable Parallel Programming with the Message Passing Interface, MIT Press, Cambridge, Mass, USA, 2nd edition, 1999.
  23. G. Yang, “Paraspice: a parallel circuit simulator for shared-memory multiprocessors,” in Proceedings of the 27th ACM/IEEE Design Automation Conference (DAC '90), pp. 400–405, Orlando, Fla, USA, June 1990. View at Publisher · View at Google Scholar
  24. S. Markus, S. B. Kim, K. Pantazopoulos et al., “Performance evaluation of mpi implementations and mpi based parallel ellpack solvers,” in Proceedings of the MPI Developers Conference, pp. 162–169, Notre Dame, Ind, USA, July 1996.
  25. X. Ye, W. Dong, P. Li, and S. Nassif, “MAPS: multi-algorithm parallel circuit simulation,” in Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD '08), pp. 73–78, Anaheim, Calif, USA, June 2008. View at Publisher · View at Google Scholar · View at Scopus
  26. W. Dong, P. Li, and X. Ye, “WavePipe: parallel transient simulation of analog and digital circuits on multi-core shared-memory machines,” in Proceedings of the Design Automation Conference (DAC '08), pp. 238–243, Anaheim, Calif, USA, June 2008. View at Publisher · View at Google Scholar
  27. A. Casotto, F. Romeo, and A. Sangiovanni-Vincentelli, “A parallel simulated annealing algorithm for the placement of macro-cells,” IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems, vol. 6, no. 5, pp. 838–847, 1987. View at Google Scholar
  28. W.-J. Sun and C. Sechen, “A loosely coupled parallel algorithm for standard cell placement,” in Proceedings of the IEEE/ACM International Conference on Computer-Aided Design of Integrated Circuits and Systems (ICCAD '94), pp. 137–144, San Diego, Calif, USA, June 1994.
  29. T. M. Nabhan and A. Y. Zomaya, “A parallel simulated annealing algorithm with low communication overhead,” IEEE Transactions on Parallel and Distributed Systems, vol. 6, no. 12, pp. 1226–1233, 1995. View at Google Scholar
  30. J. Rose, W. Snelgrove, and Z. Vranesic, “Parallel standard cell placement algorithms with quality equivalent to simulated annealing,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 7, no. 3, pp. 387–396, 1988. View at Publisher · View at Google Scholar · View at Scopus
  31. G. Karypis, R. Aggarwal, V. Kumar, and S. Shekhar, “Multi-level hypergraph partitioning: applications in VLSI Design,” in Proceeding of the 34th ACM/IEEE Design Automation Conference (DAC '97), pp. 526–529, San Diego, Calif, USA, September 1997.
  32. J. Rose et al., VPR 5.0 benchmarks, 2009, http://www.eecg.toronto.edu/vpr/.
  33. R. A. Rutenbar, “Simulated annealing algorithms: an overview,” IEEE Circuits and Devices Magazine, vol. 5, no. 1, pp. 19–26, 1989. View at Google Scholar
  34. T. Taghavi, X. Yang, B.-K. Choi, M. Wang, and M. Sarrafzadeh, “Dragon2005: large scale mixed-sized placement tool,” in Proceedings of the International Symposium on Physical Design (ISPD '05), pp. 42–47, San Francisco, Calif, USA, April 2005.
  35. A. Dunlop and B. Kernighan, “A procedure for placement of standard-cell VLSI circuits,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 4, no. 1, pp. 92–98, 1985. View at Google Scholar
  36. B. Lewis and D. J. Berg, Threads Primer: A Guide to Multithreaded Programming, Prentice Hall, Upper Saddle River, NJ, USA, 1996.
  37. V. Betz, VPR 4.3, 2009, http://www.eecg.toronto.edu/~vaughn/vpr/vpr.html.
  38. G. Karypis, hMetis, 2009, http://glaros.dtc.umn.edu/gkhome/metis/hmetis/download.
  39. C. Ababei, ParallelVPR, 2009, http://venus.ece.ndsu.nodak.edu/~cris/software.html.
  40. Y. Sankar and J. Rose, “Trading quality for compile time: ultra-fast placement for FPGAs,” in Proceedings of the 7th ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA '99), pp. 157–166, San Diego, Calif, USA, February 1999.