## XSEDE13 is hosted by

**In cooperation with**

## Platinum Sponsors

## Gold Sponsors

## Silver Sponsors

## Bronze Sponsors

## Non-Profit Silver Sponsors

## Non-Profit Bronze Sponsors

## Patron Sponsor

## Media Sponsor

**XSEDE is supported by the National Science Foundation**

# **Student Programming Competition**

Created as an opportunity to showcase student expertise in a friendly yet spirited competition, the XSEDE13 Student Programming Competition aims to introduce the next generation of students to the high-performance computing community. Over the last couple of years, the competition has drawn teams from around the world, including China, South America, Canada, Africa and Europe.

With access to parallel computing resources, teams consisting of up to five students (high school, undergraduate, and/or graduate students) will receive a variety of interesting computational science problems to address at the conference. Awards will recognize creativity, quality of solutions, and good coding practices of the teams who solve the most problems during the daylong competition.

Contest participants must be registered as part of the XSEDE13 Student Program. **NOTE**: Teams needing an assigned programmer to join their team may request one in their application to participate, as well as upon arrival.

## Before the Competition

Teams are encouraged to become familiar with the Bootable Cluster CD operating system (BCCD) and the LittleFe cluster and to work closely with domain scientists to understand the hardware and the sample competition problem sets. Sample problem sets will be posted each week beginning April 30 at http://www.hpcuniversity.org/students/weeklyChallenge. Tackling the problem sets will help teams more fully prepare for the competition.

## What to Expect During the Competition

The Student Programming Competition will be held Tuesday, July 23. Teams will meet and check in at 8 a.m. and the competition will continue until 4 p.m. Lunch will be brought to the competition room.

Once the competition starts, student teams will not be allowed to receive assistance from supervisors or research partners. Supervisors will be on hand to provide assistance with any questions about hardware, software, or general concepts related to the problem sets.

The LittleFe units will not be connected to the Internet during the competition. Teams are encouraged to bring laptops for connecting to the Internet.

There will be 10 problems sets presented to each team at the start of the competition. Problem sets will be loaded onto the LittleFe machines and will be available online and in hardcopy form. Teams may choose from a variety of programming languages to solve each problem set: C, C++, Fortran, Perl, Python, and/or Java. Parallel solutions are encouraged but will not factor into the grading.

Scientific problem sets will be chosen prior to the competition and will only be made available when the competition begins. Teams may study the problem sets prior to beginning the event after the problem sets have been revealed. The event will strive to provide more data than the teams can expect to process in the time allotted. One aspect of the competition will be determining the strategy for solving the problem sets to maximize the team's points.

It is not necessary to fully understand the science behind each application to succeed in the competition. The solutions will, in general, compile and run on the LittleFe cluster, and require only standard mathematical and message-passing libraries. What may help your team, at the time of the challenge, is an ability to analyze the input and understand the computational resources required for a given problem set. Points will be given for solutions that follow good software engineering and show clear progress toward a solution, regardless of an understanding of the science behind the problem.

During the competition, teams will be given the chance to showcase their abilities and continuously present application output on a large high-resolution display on the competition floor. Teams should strive to impress XSEDE13 participants and judges with their ability to convey their HPC knowledge through visualizations, interviews, team compatibility, and all-around friendliness. The judges will observe the team synchrony and interview each team on HPC knowledge pertaining to the competition, including the competition problem sets. Teams will also be responsible for a short presentation to other student participants.

More details on the interview procedures and presentations will be emailed to registered teams and also available at http://www.hpcuniversity.org/students/weeklyChallenge/home after June 12.

## Competition Rules

**Safety First.** Equipment configurations are always subject to safety as first consideration. If it cannot be done safely then it is unacceptable. When in doubt, ask an XSEDE13 supervisor.

**Hands off.** No one can touch the LittleFe equipment physically after the competition starts, except to plug in and unplug the keyboard, mouse, monitor cable, and any USB drives needed to transfer data to and from the LittleFe. If there is a need to touch the equipment an official XSEDE13 supervisor needs to be called and will rule on the issue. The only exception is in keeping with Rule 1: if an unsafe condition is found, anyone can power down the equipment, and an XSEDE13 supervisor must be called immediately afterward.

**Powered on at all times.** All equipment used for running the LittleFe machines must be used when running the competition applications (i.e. You cannot run LINPACK on half the machine and then power up the whole system to run the competition applications).

**No rebooting.** Reboots are only necessary for hung or failed hardware. XSEDE13 supervisors must be notified before rebooting any hardware.

**Assistance from others.** Prior to the competition, teams are encouraged to work closely with peers and domain scientists to understand their hardware and the sample competition problem sets. This is a wonderful learning opportunity for the students, and we hope team members collaborate to maximize the educational impact. Once the competition starts, student teams will not be allowed to receive assistance from supervisors or audience members. Each team will be on their own to work through the competition problem sets.

**No late solutions will be graded. **Problems are due at the end of the competition and will be submitted via USB flash drives provided by the XSEDE13 supervisors. No late submissions will be accepted for grading.

## Judging and Awards

During the XSEDE13 Student Programming Competition, student teams will compete to solve problems related to:

- Prime number calculation
- Cellular automata
- Genomics
- n-body simulation
- Graph traversal
- Agent modeling
- Monte Carlo simulation

Points will be awarded for all components listed above. The team scoring the highest aggregate points across all components will be the winner of the competition for the group's level in school (high school, undergraduate, or graduate, determined by the team member with the highest level in school). Recognition will also be given to the team with the most creative solutions overall and the team chosen as the Fan Favorite by XSEDE13 participants.

An overall competition winner will be selected based on the aggregate scores from the categories of good software engineering (good documentation, clear and concise code, correctness of solution), speed and/or speedup of solution, and analysis/presentation. Each of the 10 problem set components will be weighted evenly towards the final score.

Recognition also will be given for the most creative solution. Last year, a problem set involved computational mathematics and parallel programming, where students were asked to estimate the area of the unit circle as a way of generating pi. The students were coaxed to see that all aspects of the problem were based on mathematics they already knew, and in fact, all aspects of their solution would be based on mathematics they already knew. This was the twist in the problem, since computational mathematics requires computers and computer representations of number. The computer solution that the students would come up with would require much creative thinking and problem solving to improve on the few digits produced by a brute force solution. Part way through the competition one student confessed that since he knew MPI well and the mathematics was so straightforward, he knew his team would win. He then realized there was more knowledge needed to be effective solving the problem. This is what we mean by creative problem solving.

## How to Register Your Team

The deadline for team submissions is Friday, May 30. Team proposals must be submitted via the XSEDE13 Student Programming Competition Submission site at http://www.hpcuniversity.org/students/addTeam. All competition questions can be sent to Kathy Traxler at ktraxler@lsu.edu or 225-279-2540.