Posts from February 2018

Google Code-in 2017: more is merrier!

Wednesday, February 21, 2018

Google Code-in Logo
Google Code-in (GCI), our contest introducing 13-17 year olds to open source software development, wrapped up last month with jaw-dropping numbers: 3,555 students from 78 countries completed an impressive 16,468 tasks! That’s 265% more students than last year - the previous high during the 7 year contest!

These students spent 7 weeks working online with 25 open source organizations, writing code, writing and editing documentation, designing UI elements and logos, conducting research, developing videos teaching others about open source software, as well as finding (and fixing!) hundreds of bugs.

General Statistics

  • 65.9% of students completed three or more tasks (earning a Google Code-in 2017 t-shirt)
  • 17% of students were girls
  • 27% of the participants from the USA were girls
  • 91% of the students were first time participants

Student Age

Participating Schools

Students from 2,060 schools competed in this year’s contest. Many students learn about GCI from their friends or teachers and continue to spread the word to their classmates. This year the 5 schools with the most students completing tasks in the contest were:

School Name Number of Student Participants Country
Dunman High School 140 Singapore
Sacred Heart Convent Senior Secondary School 43 India
Indus E.M High School 27 India
Jayshree Periwal International School 25 India
Union County Magnet High School 18 United States


We are pleased to have 7 new countries participating in GCI this year: Bolivia, Botswana, Guinea, Guyana, Iceland, Kyrgyzstan, and Morocco! The chart below displays the ten countries with the most students completing at least 1 task.

In June we will welcome all 50 grand prize winners to the San Francisco Bay Area for a fun-filled trip. The trip includes the opportunity for students to meet with one of the mentors they worked with during the contest. Students will also take part in an awards ceremony, meet with Google engineers to hear about new and exciting projects, tours of the Google campuses and a fun day exploring San Francisco. 

Keep an eye on the Google Open Source Blog in the coming weeks for posts from mentoring organizations describing their experience and the work done by students.

We are thrilled that Google Code-in was so popular this year. We hope to continue to grow and expand this contest in the future to introduce even more teenagers to the world of open source software development. 

Thank you again to the heroes of this program: the 704 mentors from 62 countries that guided students through the program and welcomed them into their open source communities.

By Stephanie Taylor, Google Code-in Team

Introducing the mentor organizations for Google Summer of Code 2018

Monday, February 12, 2018

We are pleased to announce the open source projects and organizations that were accepted for Google Summer of Code 2018! As usual, we received more applications this year than we did last year, and nearly twice as many as we are able to accept into the program.

After careful review, we have chosen 212 applicants to be mentor organizations this year, 19% of which are new to the program. Please see the program website for a complete list of the accepted organizations.

Are you a student interested in participating? We begin accepting student applications on Monday, March 12, 2018 at 16:00 UTC and the deadline to apply is Tuesday, March 27, 2018 at 16:00 UTC.

The most successful applications come from students who start preparing now. You can start by watching the video below, checking out the Student Guide, and reviewing the list of accepted organizations.

You can find more information on our website, including a full timeline of important dates. We also highly recommend perusing the FAQ and Program Rules.

A hearty congratulations–and thank you–to all of our mentor organizations! We look forward to working with all of you during Google Summer of Code 2018.

By Josh Simmons, Google Open Source

The cpu_features library

Wednesday, February 7, 2018

"Write Once, Run Anywhere." That was the promise of Java back in the 1990s. You could write your Java code on one platform, and it would run on any CPU implementing a Java Virtual Machine.

But for developers who need to squeeze every bit of performance out of their applications, that's not enough. Since the dawn of computing, performance-minded programmers have used insights about hardware to fine tune their code.

Let's say you're working on code for which speed is paramount, perhaps a new video codec or a library to process tensors. There are individual instructions that will dramatically improve performance, like fused multiply-add, as well as entire instruction sets like SSE2 and AVX, that can give the critical portions of your code a speed boost.
Photo by Andrew Dunn, licensed CC-BY-SA-2.0.

Here's the problem: there's no way to know a priori which instructions your CPU supports. Identifying the CPU manufacturer isn't sufficient. For instance, Intel’s Haswell architecture supports the AVX2 instruction set, while Sandy Bridge doesn't. Some developers resort to desperate measures like reading /proc/cpuinfo to identify the CPU and then consulting hardcoded mappings of CPU IDs to instructions.

Enter cpu_features, a small, fast, and simple open source library to report CPU features at runtime. Written in C99 for maximum portability, it allocates no memory and is suitable for implementing fundamental functions and running in sandboxed environments.

The library currently supports x86, ARM/AArch64, and MIPS processors, and we'll be adding to it as the need arises. We also welcome contributions from others interested in making programs “write once, run fast everywhere.”

By Guillaume Chatelet, Google Compiler Research Team