A Code Competition for Energy Efficiency

Transcription

A Code Competition for Energy Efficiency
The Green Coding Contest
2014, sponsored by Intel,
drew competitors from four
universities, each vying to
create the most energyefficient code:
 University of Strasbourg
(UNISTRA)
 University of Valenciennes
(UVHC)
 University of Versailles (UVSQ)
 Ecole Nationale Supérieure
d'Informatique (ESI) Algiers
Green Coding Contest 2014
Doing More with Less:
A Code Competition for Energy Efficiency
As the devices that host applications become more varied, efficient use of power
becomes increasingly important. Lightweight platforms have been multiplying rapidly in
recent years, from widespread mobile and embedded usages to the emerging Internet
of Things.
Intel has a long-standing commitment to enabling energy-efficient software that ranges
from hardware engineering to development tools and programs. Recently, the Intel®
Software Academic Program participated as a sponsor in the Green Coding Contest
2014. This competition challenged entrants to create and optimize code for low energy
consumption. More than 150 students participated, submitting 3,483 programs during
the 15 days of the contest.
To participate in the contest, students were challenged to create code that provided all
possible solutions to a logic puzzle, while consuming as little energy as possible. A piece
of example code was provided as a reference, along with tutorials and reference
materials for optimizing entries, and utilities to assist in the process of generating and
tuning code. The most effective approaches to improving energy efficiency included the
following:



Avoiding unnecessary recursive calls
Dividing the overall problem into simple tasks
Reducing the number of disk writes
To reward the most effective development efforts, the top two entries at each of the
four universities received a Lenovo Yoga* 2 Pro Convertible 2-in-1 PC.
Lenovo Yoga* 2 Pro
The Rules and Tools of Engagement
The contest organizers provided two test servers where the competitors uploaded
their code to be compiled, executed, and assessed. As part of the competition,
participants were encouraged to tune their code specifically for the each server’s
dual Intel® Xeon® processors E5-2680, including making best use of the available 32
logical cores and even manipulating processor frequency using the library libdvfs.
Intel® Software Development Assistant
The winners of the Green Coding
Contest 2014:
 Cyril Bidault (UVSQ)
 Roman Da Rocha (UVSQ)
 Brian Gruchociak (UVHC)
 Adrien Bennadji (UVHC)
 Paul Godard (UNISTRA)
 Maxime Cogney (UNISTRA)
 Ahmed Boubrima (ESI)
 Ouchene Yacine (ESI)
To help participants developing for Windows as they worked to create the most
efficient algorithms possible, the contest encouraged the use of the Intel® Software
Development Assistant. This tool suite is provided by Intel as a benefit to members of
the Intel® Developer Zone. It includes an Energy Efficient Performance module that
allows developers to take energy-consumption measurements from code as it
executes.
Using the Intel Software Development Assistant, developers can track the energy
efficiency of their application code over time. By comparing results before and after a
given set of code changes, for example, it is possible to assess the impact of specific
tuning efforts. The iterative optimization enabled by this approach was a significant
benefit to the participants in the contest, which can also be adopted by others in the
general developer community.
Intel® Energy Checker
Results of the energy-efficiency tuning efforts for each entry were assessed using the
Intel® Energy Checker on a Yokogawa WT210+ power analyzer. This tool is available as
a no-cost, royalty-free SDK from Intel that includes the Energy Server module, which is
designed to measure the energy consumed by a server for specific workloads.
Software developers and others can use Intel Energy Checker to gather metrics
associated with the energy consumed and work performed by a server, at the
platform (“power at the wall”) level or at the level of individual platform
components. APIs are provided with the SDK that programmatically gather counter
data as needed, which can also be outputted using a companion GUI tool.
The contest’s most successful entries consume up to five times less energy than the
reference solution, as measured by Intel Energy Checker.
Conclusion
Optimization for energy efficiency is a vital aspect of software quality and innovation.
With the Green Coding Contest 2014, Intel helps strengthen the skills of the
developers that are creating the future. For more information on the contest, see the
competition’s website at www.greencoding.fr.
For more information on the Intel Software Academic Program, please visit:
https://software.intel.com/en-us/academic
Copyright © 2014 Intel Corporation. All rights reserved. Intel, the Intel logo, and Xeon are trademarks of Intel Corporation in the U.S.
and/or other countries.
* Other names and brands may be claimed as the property of others.
1114/EP/MESH/PDF 331537-001US