On the last day of July 2020, a group of Master and PhD students from IIS ETH gathered together physically and remotely to have some fun together coding on PULP.
After a period of lockdown and social distancing, an event where you could see your friends not only through a screen, but actually work on something together, was very much appreciated. However, due to precautions, the event was kept internal with a limited number of participants.
The goal of the event was to optimize the functions in the PULP DSP library. Participants ranged from PULP newbies who have never run any code on PULP platforms to PULP pros who are experts in writing optimized PULP codes.
The day started at 8:00 a.m. with the setups: open the big meeting room, prepare the projection screen, the camera, the microphone and open the Zoom meeting link to allow people to join remotely, as well. And of course a scoreboard was also prepared to display the ranking and nurture the spirit of competition.
Towards 9:00 a.m. the room started to fill up with our hackers who were very excited about the day despite the 'early' morning hour. After a cup of 'fuel', more commonly called coffee, our participants started to set up the work environment and get prepared to boost some performance.
Soon, almost everyone entered the hacking mode, except for two poor souls still struggling with the VM setup and SDK installation. A couple of people also joined remotely from Bologna. Unfortunately, a hackathon done remotely is not the same fun, making it less appealing to our remote guests who soon gave up.
While on-site, our hackers got very focused and eager to lead the ranking, with some of them not having the best of luck, scoring negative points at the beginning.
But this didn't kill the motivation and the ambition of our participants!
Everyone picked his or her own set of function(s) and the teams formed spontaneously: Maxim Mattheuws and Tom Kuchler decided to work on complex functions, Hanna Muller, Nils Wistoff, Pirmin Vogel, and Luca Bertaccini on matrix functions, Matteo Perotti and Tibor Schneider on strided matrix functions; Matteo Spallanzani on max and min, Moritz Scherer on correlate and power, Jeremy Guichemerre on mean, Yvan Bosshard on statistics functions, Michael Rogenmoser on FFTs, while Robert Balas got interested in the compile process and started to dig into pulp sdk before switching to root mean square functions.
The climax of the day was reached towards the end when Hanna uploaded the results of her team to the scoreboard and surpassed Tibor who led the ranking for the whole afternoon and was very confident to win the competition.
For this first round of PULP Hackathon, Hanna and her team have beaten everyone. Many people want a rematch in the next PULP Hackathon, but before that our sponsor Prof. Dr. Benini invited all the participants for a rewarding dinner with some nice Italian pizzas!
The timelapse of the event can be found here or on our Youtube channel.
Thanks to Prof. Dr. Benini for sponsoring. Thanks to Frank Gurkaynak for the support. Thanks to Tibor Schneider for the test framework. Thanks to Cristian Cioflan for the ranking scoreboard. Thanks to Moritz Scherer, Tibor Schneider, Michael Rogenmoser, Hanna Muller, Xiaying Wang for implementing the baseline functions and the tests. Thanks to Xiaying Wang and Moritz Scherer for the organization and the initiative!