Here’s a short report of my experience at the Cpp Day 2018 organized by the Italian C++ Community (side note: the name ++it is undoubtedly the best name ever)!
C++ Day 2018
Pavia, November 24th
The event was hosted at the local Department of Physics of the University of Pavia, completely free of charge!
After a quick and efficient check-in (which included receiving a ticket for free lunch!) the audience moved into the main room for the C++ Day to begin!
Summary:
Welcome Message
Marco Arena, Riccardo Brugo, Federico Pasqua
Marco Arena is the founder and leader of ++it, since 2013 he works hard to improve one of the most active C++ non-profit community in Europe, which has steadily become a pillar for professionals, students and companies interested in the C++ world.
He, together with his team, creates a number of events dedicated to bringing together people who share the same interests and passion in this programming languages; meetups, codyng gyms, conferences, C++ days.. and completely free!
Each event is completely funded by sponsors and by the untiring work of Marco and his team, and never I found something to complain about!
HPX: High performance computing in C++ with concurrency parallelism and futures
John Biddiscombe
I was really eager to attend this keynote by a speaker of the level of John Biddiscombe, a guru in the field of High Performance Computing.
In his 90 minute talk, John introduced us to HPX, an extremely powerful library for concurrency and parallelism in C++
I won’t go into details of its presentation (you can click at the end of this paragraph to see his slides, and the video will soon be available) but I want to point out some key points:
- Task based programming is something that every C++ programmer should learn to use
- HPX is designed to support core language features, withouth relying on vendor or compiler extensions
- (this one was not actually something John said, rather what I have to say from my experience) Concurrency and parallelism are almost always thaught in the wrong way, focusing on a specific solution (e.g. OpenMP) or on a specific hardware, without giving programmers an insight on how to think in a task-based manner.
Overall, I think that John gave us a very powerful and intersting insight on the future of HPC in C++, although it might have been a bit too technical for some of the attendees.
Unconvex Nesting Optimization
Fabrizio Radaelli
The second talk I followed (after the keynote the day was split into two tracks, one in italian and the other one in english) was from Fabrizio Radaelli about genetic algorithms to approach optimization problems. The talk was full of math, talking about minimization, convex and unconvex problems, gradient descent and such; in fact, while I had enough academic training on the subject to follow the talk, I’ve seen many lost faces of people trying to wrap their heads around convergence, local and global minima, FFT and such.
To be honest, I kinda felt like the talk missed to address a particular audience: for a person with enough mathematical background it didn’t really introduce enough concepts and new ideas, while for a C++ programmer without a strong grasp for math I guess it felt like a torture. I have to agree that a 50 minutes mathematical talk withouth a single line of code in a C++ conference is, to say the least, misdirected.
In the next post I will talk about the afternoon talks, so stay tuned!