Differences

This shows you the differences between two versions of the page.

Link to this comparison view

2009_memocode_co-design_contest [2017/09/29 10:11] (current)
Line 1: Line 1:
 +====== 2009 MEMOCODE HW/SW Co-Design Contest ======
 +
 +We like to thank [[http://​www.c-eda.org/​ | IEEE Council on Electronic Design and Automation (CEDA)]], [[http://​www.bluespec.com |  Bluespec]] and [[http://​www.xilinx.com |  Xilinx]] for sponsoring the 2009 contest.
 +
 +===== Final Results =====
 +
 +The winner of this year's Absolute Performance Prize is Team TeleTitanium (Daniel L. Rosenband and Till Rosenband). ​ The winner of this year's Normalized Performance Prize is Team MIT (A. Agarwal, N. Dave, K. Fleming, A. Khan, M. King, M. Ng, M. Vijayaraghavan,​ CSAIL, MIT).  Each prize carries with it a $1000 cash award. ​ The winners are also invited to submit a 4-page paper in the proceedings of Memocode 2009 and to present their designs at the conference. ​ Everyone who submitted a completed design is eligible to submit for review a 2-page abstract for the formal conference proceedings. ​ Everyone who participated is invited to submit a poster abstract for review for inclusion in the poster session.
 +
 +The two winning teams were selected unanimously by this year's judging panel, Dr. Kees Vissers (Xilinx); Prof. Forrest Brewer (UC Santa Barbara); and James C. Hoe (CMU). ​  The functionality and performance by the two winning teams have been positively verified by James C. Hoe.   The official normalization rule applied poorly to the GPU-based entries. The judges decided not to accept the normalized speedup results from the two GPU-based entries. (The two GPU-based entries would not have been competitive in the normalized performance contest by even very generous estimations.) The contest organizers will address this issue specifically for next year to enable a fair normalization across a wide range of platforms.
 +
 +The contest period for this year's design contest came to a close on 3/31. We had 22 teams at the start and 10 teams by the end. However, only 5 teams submitted finished solutions by the deadline. The five teams and their results are
 +  * Team: Barracuda (Iowa State University)
 +    * Members: Allada Veerendra, Jin-Ning Tioh, Justin Rilling, Lakshminarasimhan Seshagiri, and Michael Steffen
 +    * Platform: NVIDIA Tesla T10 (self-reported normalization 18,122,385)
 +    * Development:​ NVIDIA CUDA
 +    * Speedup (absolute)=24371;​ Speedup (normalized)=NA;​
 +  * Team: CA$HE MON3Y (Old Dominion University)
 +    * Members: Woodrow H. Edwards, Nelson Gosnel, Jr., and Andrew Lewis
 +    * Platform: XUPV2P, software only, (reference normalization 1)
 +    * Development:​ ISE/EDK
 +    * Speedup (absolute)=2.4;​ Speedup (normalized)=2.4;​
 +  * Team: MIT (CSAIL, MIT)
 +    * Members: A. Agarwal, N. Dave, K. Fleming, A. Khan, M. King, M. Ng, M. Vijayaraghavan
 +    * Platform 1: XUPV2P (reference normalization 1)
 +    * Development 2: Bluespec, ISE/EDK
 +    * Speedup (absolute)=3381;​ Speedup (normalized)=3381 (officially verified);
 +  * Team: TeleTitanium
 +    * Members: Daniel L. Rosenband and Till Rosenband
 +    * Platform: AMD Athlon 64 X2 Dual Core 4200+ with NVIDIA GTX 285 GPGPU (self-reported normalization 2677)
 +    * Development:​ gcc and NVIDIA CUDA
 +    * Speedup (absolute)=53064 (officially verified); Speedup (normalized)=NA;​
 +  * Team: Uhrturm (IAIPC, Graz University of Technology)
 +    * Members: Erich Wenger and Paul Rouschal
 +    * Platform: XUPV2P using both PPC405 (self-reported normalization 1)
 +    * Development:​ ISE/EDK and Matlab for analysis
 +    * Speedup (absolute)=462;​ Speedup (normalized)=462;​
 +
 +In addition to the above finishers, starters included teams from (in order of registration) UVA, Bradley University, Royal Institute of Technology (Stockholm),​ iicdesign.com,​ Politecnico di Milan, Virginia Tech, University of Idaho, IIT Madras, a 2nd team from TU-Graz, UC Davis, a 2nd team from Iowa State University. ​
 +
 +The Memocode contest and conference organizers would like to thank everyone who participated and congratulate the winners.
 +
 +===== News Items =====
 +
 +  * April 1, 2009: Contest entry is now closed. Stayed tuned for the results.
 +  * March 23, 2009: Please review the [[http://​www.ece.cmu.edu/​~jhoe/​distribution/​mc09contest/​contestrules09.pdf |  official contest rules]] for submission requirements and instructions.
 +  * March 20, 2009: Performance test cases are published to enable performance tuning in the remaining 10 days.
 +  * March 6, 2009: The [[http://​www.ece.cmu.edu/​~jhoe/​distribution/​mc09contest/​contest09.pdf |  design challenge spec]] has been revised to raised the lower-bound on "​theta"​ to pi/​256. ​ (The upper bound remains pi/4.)
 +  * March 2, 2009: Please visit the [[MEMOCODE 2009 Design Contest FAQ | FAQ]] page.
 +  * March 1, 2009: The MEMOCODE 2009 Design Contest is underway. ​ Please see this years [[http://​www.ece.cmu.edu/​~jhoe/​distribution/​mc09contest/​contest09.pdf |  design challenge]].
 +  * Feb 2009: Xilinx joins as the newest 2009 contest sponsor, along with IEEE CEDA and Bluespec.
 +  * Feb 2009: The reference implementation will be released as an EDK 9.2 project for the XUP board (the original V2Pro version).
 +  * Jan 2009: The [[http://​www.ece.cmu.edu/​~jhoe/​distribution/​mc09contest/​contestrules09.pdf |  contest rules]] have been posted, including the announcement of $1000 cash prizes in two different performance competitions.
 +  * Jan 2009: [[http://​www.bluespec.com |  Bluespec]] has joined IEEE CEDA as sponsors of the 2009 contest.
 +  * Dec 2008: You can download the [[http://​www.opencores.org/​projects.cgi/​web/​cryptosorter/​overview |  winning design]] from the 2008 contest. Other 2008 submissions have also been made public by their authors for [[http://​memocode.irisa.fr//​2008/​designcontest08/​everybodywins/​index.html#​submitted |  download]].
 +  * Nov 2008: We like to thank the [[http://​www.c-eda.org/​ |  IEEE Council on Electornic Design and Automation (CEDA)]] as the first sponsor of the 2009 contest.
 +
 +===== Contest Overview =====
 +
 +[[http://​www.memocode-conference.com/​ | MEMOCODE 2009]] will again have a design contest. ​ The contest will start March 1, 2009.  The deadline for submission is March 31, 2009 and the
 +notification of the results is on May 8, 2009.  The conference will
 +award at least two prize categories, each with a $1000 cash
 +award. ​ (See [[http://​memocode.irisa.fr//​2008/​designcontest08/​everybodywins/​index.html |  last year's results]].)  ​
 +
 +Each team that submits a complete and working entry will be
 +invited to submit for review a 2-page abstract for the formal
 +conference proceedings;​ prize winning teams will be invited to
 +contribute a 4-page short paper.
 +
 +Please refer to the [[http://​www.ece.cmu.edu/​~jhoe/​distribution/​mc09contest/​contestrules09.pdf |  official contest rules]] for additional details.
 +
 +Please help us spread the word about this contest and post this [[http://​www.ece.cmu.edu/​~jhoe/​distribution/​mc09contest/​mc09flyer2.pdf |  contest flyer]] at your institution.
 +
 +===== Contest Sponsors =====
 +
 +  * [[http://​www.c-eda.org/​ |  IEEE Council on Electornic Design and Automation (CEDA)]] ​ * [[http://​www.bluespec.com |  Bluespec]] ​ * [[http://​www.xilinx.com |  Xilinx]]
 +
 +===== Getting Started =====
 +
 +As in past years, a design challenge will be posted on the start date of the contest. The design teams have 30 days to produce a working implementation employing any HW and SW design methodology and targeting any FPGA development platform of the contestants'​ choice. ​
 +
 +Before the contest gets underway, participants are highly encouraged to familiarize themselves with the contest style and infrastructure.
 +Experience has shown that valuable design time gets lost during the contest due to '​learning-curve'​ issues with tools and platforms.
 +Please visit past years contest site to see examples of contest problems and winning solutions.  ​
 +  * [[http://​www.memocode-conference.com/​2008/​designcontest08/​ |  2008 Contest Archive]]  ​
 +  * [[http://​www.memocode-conference.com/​2007/​designcontest07/​ |  2007 Contest Archive]]
 +
 +If you are interested in participating,​ please email //jhoe+mc09 at ece_cmu_edu//​ and we
 +will keep you updated by email.
 +
 +===== Reference Platform =====
 +
 +The 2009 contest will continue to use the very affordable Virtex-II-based [[http://​www.digilentinc.com/​Products/​Detail.cfm?​Prod=XUPV2P&​Nav1=Products&​Nav2=Programmable |  Xilinx XUP]] board as the reference platform. ​ For academic participants that do not have access to affordable tools and platforms, we encourage you to approach the [[http://​www.xilinx.com/​univ/​don_program.htm |  Xilinx Donation Program]] for assistance at the earliest opportunity. (You can cite your participation in this contest in your donation request.) ​ We also want to point out the availability of the new Virtex-5-based [[http://​www.digilentinc.com/​Products/​Detail.cfm?​Prod=XUPV5&​Nav1=Products&​Nav2=Programmable |  Xilinx XUPV5]] board. ​ Under the contest rules, you are allowed to use any platform in both the absolute performance category and the normalized performance category. Please refer to the [[http://​www.ece.cmu.edu/​~jhoe/​distribution/​mc09contest/​contestrules09.pdf |  official contest rules]] for additional details.
 +
 +===== The 2009 Design Challenge (Released 3/1/2009) =====
 +
 +The MEMOCODE 2009 Design Contest is underway. ​ Please see this years [[http://​www.ece.cmu.edu/​~jhoe/​distribution/​mc09contest/​contest09.pdf |  design challenge]]. Please email jhoe+MC09@ece.cmu.edu separately to receive instructions on downloading the reference software-only implementation of this challenge as a Xilinx EDK project for the XUPV2 board. In the request, please specify: ​ 1. a team name; 2. team member names and affiliations;​ and  3. the contacting email address. There are no obligations associated with receiving or using the open-source-licensed reference implementation. ​ The reference implementation includes a rudimentary testing and timing jig.  We like to thank Rachata Ausavarungnirun (CMU) for preparing this year’s reference implementation. ​
 +
 +You will have until March 31, 2009 to submit your entry. The instructions for submitting an entry is in the [[http://​www.ece.cmu.edu/​~jhoe/​distribution/​mc09contest/​contestrules09.pdf |  contest rules]].
 +
 +===== Performance testcases (Released 3/20/2009) =====
 +
 +
 +The absolute and normalized performance competitions are based on the geometric mean of speedup (relative to the reference SW-only implementation) of 12 test cases. ​ Nine of them are
 +
 +N=10, R=10, theta=arcsin(0.1),​ reference run time=10,​958us
 +
 +N=700, R=10, theta=arcsin(0.1),​ reference run time=55,​619,​458us
 +
 +N=1000, R=10, theta=arcsin(0.1),​ reference run time=113,​455,​224us
 +
 +N=10, R=100, theta=arcsin(*0.0123*),​ reference run time=*11,​033us* <​--corrections made 3/26 
 +
 +N=700, R=100, theta=arcsin(*0.0123*),​ reference run time=*56,​893,​223us* <​--corrections made 3/26
 +
 +N=1000, R=100, theta=arcsin(*0.0123*),​ reference run time=*116,​084,​610us* <​--corrections made 3/26
 +
 +N=10, R=100, theta=arcsin(0.2),​ reference run time=11,​021us
 +
 +N=700, R=100, theta=arcsin(0.2),​ reference run time=55,​963,​646us
 +
 +N=1000, R=100, theta=arcsin(0.2),​ reference run time=112,​892,​179us
 +
 +You may not hardcode the above parameters into your design for special optimization. ​ The final three "​secret"​ test cases will be released after the final submission.
 +
 +We will also validate the correctness of your design using other undisclosed test cases.
 +
 +You can download the [[http://​www.ece.cmu.edu/​~jhoe/​distribution/​mc09contest/​test.c |  initialization functions]] to replace the default initTestCases() function in the reference SW release. ​ The functions also initialize of the grid values.
 +
 +10 in IEEE double is 0x40240000_00000000
 +
 +100 in IEEE double is 0x40590000_00000000
 +
 +arcsin(0.1) in IEEE double is 0x3fb9a492_76037884
 +
 +arcsin(0.2) in IEEE double is 0x3fc9c618_aa4ae23d
 +
 +arcsin(0.0123) in IEEE double is 0x3f8930e7_af22c66f
 +
 +===== Performance testcases (Blind) (Released 4/2/2009) =====
 +
 +
 +N=13, R=(100*100*10)^(1/​3),​ theta=arcsin( (0.0123*0.1*0.2)^(1/​3) ), reference run time=18,709 us
 +
 +N=683, R=(100*100*10)^(1/​3),​ theta=arcsin( (0.0123*0.1*0.2)^(1/​3) ), reference run time=53,​248,​232 us
 +
 +N=937, R=(100*100*10)^(1/​3),​ theta=arcsin( (0.0123*0.1*0.2)^(1/​3) ), reference run time=94,​741,​983 us
 +
 +The Ns are "Happy Primes"​
 +
 +R=(100*100*10)^(1/​3) in double is 0x4047353b_d4393a74 (~46.4159)
 +
 +theta=arcsin( (0.0123*0.1*0.2)^(1/​3) ) in double is 0x3fb00d10_56e7796e (~0.0626993)
 +
 +===== FAQ =====
 +
 +
 +Goto [[MEMOCODE 2009 Design Contest FAQ | FAQ]] page.
 +
 +===== Important Dates =====
 +  * March 1, 2009: design challenge revealed and contest starts
 +  * March 31, 2009: design entries due
 +  * May 8, 2009: results announced
 +  * July 13~15, 2009: MEMOCODE Conference, Cambridge, MA
 +
 +===== Contest Organizers =====
 +
 +The 2009 contest is co-organized by [[http://​bears.ece.ucsb.edu |  Forrest Brewer]] ​
 +(//forrest at ece_ucsb_edu//​) and [[http://​wwwe.ece.cmu.edu/​~jhoe | James C. Hoe]] (//​jhoe+mc09 at ece_cmu_edu//​).