Porting and Performance contest sponsored by Linaro

Entrants to this competition currently have the opportunity of winning three different prizes. As the competition develops, further prizes may be offered and we will be actively seeking sponsors to provide additional incentives to participate.

Entry prize

Each entrant who submits a completed and validated submission (either porting or optimization) will receive a V-necked T-shirt “entry prize”. There is a maximum of one of these per entrant.

Multiple submission prize

Entrants who submit multiple packages will be rewarded when they have submitted a total of five and twenty packages. For five packages, the prize is a custom polo shirt and for twenty a custom hoodie.

All-expenses-paid invitation to Linaro Connect prize

Prior to each Linaro Connect, two winners will be invited to attend with all their expenses paid (travel and accommodation). One winner will be randomly drawn from all entrants and the other will be selected from those entrants who have provided the greatest improvements in performance.

A panel of judges will be appointed to judge the performance optimization part of this competition and to approve the awarding of all prizes. The members of this panel will be listed on this page when they are chosen and the schedule for their judging and award of prizes will be listed here along with winners as they are selected.

All completed and validated entries will be awarded an “entry prize”.

There are two main parts of the competition:

a prize drawn from a pool to reward people who have ported one or more of the modules to ARM-64

a judged performance optimization section, for people who improve the performance of one of the modules while porting it to ARM-64

Linaro holds a public event – Linaro Connect (http://www.linaro.org/connect) two times a year for all of its engineers and the community of engineers building the future of Linux on ARM. Winners of the prize draws and judged performance optimizations prizes will be invited to attend with flights to and accommodation at the location provided. Winners of the judged performance optimization prizes will be expected to participate in a session discussing their winning optimization at the event.

In total, one entrant from each part of the competition will be selected (two total) to attend each Linaro Connect, starting from Linaro Connect USA 2014 (LCU14) to be held September 15-19 in Burlingame, California. The first porting winner for LCU14 will be selected in a prize drawing of all entries in June 2014. The performance optimization prize for LCU14 will be judged in July 2014 from all completed and validated entries submitted prior to 9 July 2014 that include additional supporting performance documentation. The second porting and performance winners for the first Linaro Connect of 2015 will be selected in December 2014. Each draw will include all completed and validated entries up to the day prior to the drawing.

As the dates of future Linaro Connects are announced, prize draw and judging deadlines will be announced on the competition website. Winners of the prize draws and performance optimization section will be excluded from subsequent prize draws, but all other completed and validated entries will be entered for each subsequent draw and so entrants with more and earlier submissions will have increasing chances of winning an invitation to Linaro Connect.

The performance optimization section judges will be selected from architects and engineers from within Linaro and Linaro member organizations.

How to enter the Competition

Entrants to the competition need to register on this site at http://performance.linaro.org/register/. Entrants can then use this website to select a software module that needs porting and/or optimizing. At any time, entrants are only permitted to select and work on one module, but after completing a porting and/or optimization submission, they can go on to select an additional module for a subsequent submission. There is no limit to the number of individual module submissions for an entrant. Entrants increase their chance of being selected to attend Linaro Connect with each additional qualified submission. There will also be special prizes for entrants who submit multiple module submissions; these are shown on the Prizes tab on this page.

After selecting to work on a module, entrants are required to contact the maintainer of the module and clarify any particular criteria the maintainer wishes to be considered. These criteria may include, but are not limited to, coding style, algorithm usage, computer language issues and architecture support. It is important that submissions do not introduce any regression in the modules affecting operations of the module on other architectures.

Once the module has been ported to ARMv8 AArch64 and the source code accepted by the maintainer, the porting entry is done. The entrant should mark the module as “ported”, which will enter that port into the pool for the drawing. Modules can only be “ported” one time, but “ported” modules can later be selected for “optimization”.

If the entrant is doing an optimization, they should work with the upstream maintainer as in the porting work, and have their optimization accepted by the maintainer. After their work is accepted, the entrant should submit all the source code and supporting documentation on the competition website. Supporting documentation will require benchmarks of the module before the optimization and after the optimization, as well as the data sets used in the benchmarking. At that point, the optimization submission will be considered completed and, once validated, it will be entered into the optimization part of the competition. Full Terms and Conditions governing the submission and use of Content on the competition website are available in the Legal section of this site. Each entrant who submits a completed and validated submission (either porting or optimization) will receive an “entry prize”. Award of “entry prizes” is limited to a maximum of one per entrant.

Acceptance by the software module maintainer is the minimum criteria for completion and validation of a “porting” entry. For entrants who wish to compete for the performance optimization prizes, additional information demonstrating how performance has been improved by the port needs to be provided. The judges will verify this information and select the optimization submissions that achieve the greatest performance increase for an additional prize. Entrants are responsible for measuring the performance of the module before and after on IA-32, IA-64, ARMv6 (32-bit) or ARMv7 (32-bit), and ARMv8 (64-bit) processors or emulators. In the case of ARMv8 (64-bit), no “pre-optimization” measurement is required.

All entries and supporting documentation submitted on the competition website should be provided under a Creative Commons “Share-alike” license, with the code being submitted under the same license that it had before.

From time to time there are maintainers who are “notoriously hard to work with”. Linaro reserves the right to accept submissions on behalf of a non-cooperative (or non-existent) maintainer. However, Linaro considers these people to be the exception rather than the rule, and encourages candidates to work directly with the maintainers, and vice versa.

Entrance requirements and other terms

No purchase or payment of any kind is necessary to enter or win this competition. The Linaro 64-bit performance improvement competition is run by Linaro Ltd, Harston Mill Royston Rd Harston Cambridge CB22 7GG, UK (the “Sponsor”).

The Linaro 64-bit performance improvement competition is open to anyone over the age of 13. Individuals older than the legal age of majority in their jurisdiction of residence may register themselves, but for individuals over 13 years of age and under the legal age of majority, entries must be supported by a teacher, parent or legal guardian who has reviewed and accepted these Competition Rules and the Legal Terms and Conditions. Linaro reserves the right to verify an individual’s eligibility to participate in the Competition.

Please note that this competition requires a valid email address and a software engineering submission to enter. Prizes will be awarded both by a panel of judges assessing best performance solutions and by random draws from all valid porting entries.

All decisions by the judges will be final. Linaro will make best efforts to notify winners by the email used to register for the competition within seven days of the selection. Delivery dates of prizes are not guaranteed and there may be a number of unforeseen reasons why your prize will arrive later than we would like. Delivery to a P.O. Box or APO/FPO address, to Hawaii, Alaska, or several other international destinations and issues with the shipping address may all delay delivery. You may also be subject to import duties and taxes, which are levied once the package reaches your country. Additional charges for customs clearance must be borne by you; we have no control over these charges and cannot predict what they may be. Customs policies vary widely from country to country; if in doubt, please contact your local customs office for further information. Additionally, when receiving a T-Shirt from Linaro, you are considered the importer of record and must comply with all laws and regulations of the country in which you are receiving the goods. Customs forms for all international packages will list the value of your prize. Some of the prizes involve travel to a Linaro Connect event. Individuals under the legal age of majority who win a prize involving travel must be accompanied by a teacher, parent or legal guardian who takes full responsibility for the welfare and behaviour of said individual. Where winners are unable to travel, for whatever reason, no alternative prizes will be offered. Economy air flights to the Linaro Connect events and accommodation will be arranged by Linaro for the winner and, in the case of a winner under the legal age of majority, for their accompanying teacher, parent or legal guardian.

The list of judges and prize winners will be publicly posted on a tab on this page as they are decided.

While Linaro engineers and member company engineers may do porting or optimizations on various GNU/Linux modules, no Linaro engineer or member company engineer will be eligible to win a prize other than the “entry prize”. They will not be eligible for the drawing, nor to receive any of the special prizes that require judging.

Linaro reserves the right to cancel the performance optimization competition at any time.

Linaro will only use/share personal data collected as part of this competition for the purposes of judging the competition and distributing prizes. Access to personal data collected will be restricted to Linaro employees and named external judges.