Welcome to SwedenCpp, C++ Stockholm 0x0D!
This time we will focus on data processing, techniques and algorithms and more.
I am very exited that we will have 2 speakers we haven't had before at SwedenCpp who will talk with us about these very interesting topics!
We will also have enough time to enjoy the location at our event sponsor HiQ, https://www.hiq.se, to prepare for the upcoming Swedish summer.
Afshin Zafari: An example of using C++ templates for better performance
There are many approaches for simplifying parallel programming while enabling achieving the best performance from the underlying hardware. The task-based parallel programming approach has gained a lot of attraction due to its success in fulfilling these goals. As part of my research, I investigated different task-based programming frameworks in shared and distributed memory with/without using accelerators (GPUs). In my talk, I will present a unified interface for task based parallel programming where other frameworks and program can implement and cooperate. I will talk about the challenges in designing such an interface and how they are addressed by using template programming in C++. I appreciate the discussion after my talk about the techniques and implementation.
Afhsin got his PhD in Scientific Computing on March 2018. His research was about task parallel programming in distributed environments and he developed a C++ framework with new successful approaches and techniques.
Afhsin worked for 10+ years in SW development mainly using C/C++ prog. languages.
Arda Aytekin: POLO: POLicy-Based Optimization Library
Thanks to the developments in data storage technologies and wide adoption of Internet-based devices, it has become commonplace to collect, share and store bulks of data. This, in turn, has led to an increase in problem dimensions in data-driven machine- learning applications. To tackle this dimensionality problem, we need new, parallel optimization algorithms that exploit problem structure and make good use of computing resources such as the multiple cores on the CPUs and GPUs as well as different nodes in the cloud. However, algorithm design is a non-trivial process that involves prototyping and testing new ideas, and finally deploying them on different execution engines. In this work, we present POLO — a C++ library that emphasizes ease-of-use, flexibility and efficiency in algorithm design. It uses multiple inheritance and template programming to decompose algorithms into essential policies and facilitate code reuse. With its clear separation between algorithm and execution policies, it provides researchers with a simple and powerful platform to prototype ideas and test them against different options. POLO enables users to move seamlessly from serial to multi-threaded shared-memory to multi-node distributed-memory executors.
Arda is a senior PhD student at KTH Royal Institute of Technology. His research interests are analysis and design of optimization algorithms for use in distributed machine-learning problems. His favorite languages are Julia and C++.
17:30 - 18:10 Welcome mingle with food and drinks
18:10 - 18:15 Intro
18:15 - 19:00 Afshin Zafari: An example of using C++ templates for better performance
19:00 - 19:45 Break, mingle drinks and food, if something left
19:45 - 20:30 Arda Aytekin: POLO: POLicy-Based Optimization Library
20:30 - 21:00 Fadeout mingle
As usual, all timings are relative.
Thanks to our event sponsor HiQ, https://www.hiq.se, for hosting this event!