https://cppunderthesea.nl
C++ Under the Sea – International C++ Conference 2024
C++ Under the Sea – International C++ Conference 2024 Skip to the content C++ Under the Sea International C++ Conference 2024 Program Attendees Sponsors Workshops Speakers Contact Menu Close Program Attendees Sponsors Workshops Speakers Contact © 2024 C++ Under the Sea C++ Under the Sea BREEPARK BredaNetherlands 10 October 2024 Workshops 11 October 2024 Main conference Scroll Down Schedule Here are the schedule for Thursday and Friday! Please note each date requires its own separate ticket. 10 OCTOBER – WORKSHOPS Thursday 9:00 – 10:00 Reception 11:30 – 11:45 Break 13:15 – 14:00 Lunch (provided) 15:15 – 15:30 Break 16:45 – 17:00 Break 18:00 End 11 OCTOBER – MAIN CONFERENCE Friday 8:00 – 9:30 Reception 12:00 – 13:00 Lunch (provided) 15:00 – 15:30 Break 17:30 End 17:30 – 18:30 Drinks (sponsored by IMC) Lunch and refreshments will be provided on both days. Closing drinks will be provided on Friday. Sold Out C++ Under the Sea is a new conference in the Netherlands, featuring speakers across industries who share insights and wonders about C++. Located in beautiful Breda, C++ Under the Sea is easily accessible by train from several countries, and with convenient airports as well. The conference is an extension of the Dutch C++ meetup group, which has enjoyed regular meetings at high-profile venues across the Netherlands since 2013, with nearly 1,700 members. Speakers The Dutch C++ Meetup group has enjoyed many high-profile speakers from around the world since its inception years ago. These have included members of the ISO C++ committee, well-known C++ trainers, and many industry professionals working in northwest Europe. OPENING KEYNOTE SPEAKER JASON TURNER Consultant and Trainer Strong Types – Better C++ Entire classes of bugs can be avoided with strong types. Unfortunately, using stronger types often feels like a burden to the developer. We will examine why stronger typing is beneficial and explore contemporary techniques for how to make it easier to use stronger types. CLOSING KEYNOTE SPEAKER INBAL LEVI Lead Software Engineer at Millennium Director, ISO C++ Foundation Welcome to 0.1 of the meta::[[verse]]! With a proposal slated to introduce reflection to C++26 (including the “std::meta” namespace) getting strong support in WG21, we can already start imagining a whole new world of possibilities. In this session, we will dive into reflection and its transformative potential within our codebases. We will start with an introduction of utilities from the reflection proposal. Then, we delve deeper into practical applications and demonstrate solutions to problems that commonly use reflection and the power it holds. For the last part, we will explore the possibilities within “Reflection Libraries”. This includes both “traditional” libraries which provide functionality, and more “novel” approaches which reshape users’ code. We will look at examples of what such libraries can cover, and demonstrate potential directions the future holds. This talk will also include updates on the status of “Reflection” since the ACCU 2024 keynote. Join us as we traverse the meta::[[verse]]! SPEAKER LINEUP CONOR HOEKSTRA Research Scientist at NVIDIA Co-host ADSP: The Podcast Arrays, Fusion, CPU vs GPU Fusing algorithms across languages and accelerating code on the CPU and GPU. This talk will discuss C++ Ranges, Rust Iterators, Swift Lazy Sequences, Python Itertools and more. Different GPU techniques will include CUDA Thrust with nvcc, C++ stdpar with nvc++, CuPy, and more. Finally, the results of profiling these approaches will be shown. MARTIJN TERPSTRA Software Engineer at IMC Trading Low Overhead Multi-threaded Logging for Low-latency Applications Logging is one of the backbones of an application. In the multi-threaded low-latency world, it’s crucial to have efficient low-overhead logging. This talk is a deep dive into designing this framework, including the small details that matter for performance. BRYCE ADELSTEIN LELBACH Principal Architect at NVIDIA Co-host ADSP: The Podcast The C++ Execution Model At the heart of the C++ programming language is the multi-threaded abstract machine and its execution model, the platform-agnostic formal model that generically describes how to run a C++ program. In this talk, you will learn the rules that govern how your C++ code is executed and see how those rules impact the C++ code you write every day. BJÖRN FAHLLER Senior developer at Net Insight Cache-friendly data + functional + ranges = ❤️ Experience has shown that when working with data in bulk, or when the data sets are small, structs of vectors is the way to go for performance. Working with structs of vectors can be cumbersome, however. Let’s have a look at what can be done with the recent additions to the C++ language and standard library. FREDRICK OMONDI Software Engineer at Intel Corporation Introduction to Writing and Profiling GPU Kernels Have you ever fancied delving into high-performance computing? Whether you’re a novice or a seasoned pro looking to unleash the full potential of your GPU, this session will equip you with the skills to get the most out of your GPU. This talk will begin by introducing high-performance computing and various GPU programming frameworks. It will then delve into GPU programming constructs and profiling GPU kernels to maximize performance and efficiency. To wrap it up, we’ll put the bits and pieces into practice by live coding a SYCL kernel. Topics discussed will include blocks, work items, work ranges, memory barriers and fences, parallel algorithms, GPU occupancy levels, copy times, and memory access patterns. BAREND GEHRELS Staff Software Engineer at TomTom Exploring Boost.Geometry: A Library Based on Concepts, Traits and Tag Dispatching Boost.Geometry is one of the most popular libraries within the Boost C++ Libraries. This presentation will provide an in-depth exploration of Boost.Geometry, highlighting its design principles centered around C++20 concepts, tag dispatching, and template meta programming using traits. We will illustrate Boost.Geometry’s distance algorithm both from a user perspective and from the C++ design perspective, and how one function call can work for different types and coordinate systems. Additionally, a brief live example will be demonstrated. From this hands-on introduction of Boost.Geometry, participants will gain valuable insights into the application of concepts and traits in a real-world, large-scale library, empowering them to apply this knowledge in their own C++ development projects. PHIL NASH Consultant and Trainer Mastering the Special Member Functions : The Rules of 0 to 5 and Beyond Lifetime management in C++ offers flexibility and power, but it comes with significant complexity, especially as the language has evolved. The Rules of 0 and 5 are essential for managing this complexity. Ideally, your types should require no Special Member Functions (like destructors, copy/move constructors, or assignment operators). However, if you do need one, you’ll likely need all five, and knowing how to implement them correctly can be challenging. Understanding the type you’re working with is crucial, so we’ll break down the common categories. Come with us on a journey through these rules, type categories and behaviours and learn to make sense of lifetime management in modern C++. LIEVEN DE COCK Principal Engineer Software at ST Engineering iDirect Space Invaders: The Spaceship Operator is upon us Before C++20 we had to write six comparison operators for our user defined types (or even more). For sure, a tedious task. All this gets simplified with the introduction of the spaceship operator. What happens to your code when you turn on -std=c++20 — even before we go near the spaceship operator, did your build break? Why does that happen? We will first investigate another new feature of C++20, the rewriting rules, and how that impacts your code base. Then we will dissect the spaceship operator, both how it is used and its implementation. What are comparison categories and why are these important with respect to the spaceship operator? All will be answered. What initially looked so simple does require some extra thought to correctly use the tool. We will discuss its traps and some of the less trivial considerations of this new operator. Speaker Details Sold Out Workshops On October 10, three pre-conference workshops will offer hands-on training in various topics such as C++ Concepts, compile-time resources, and coroutines. These all-day, specialized workshops will be conducted by instructors Mateusz Peuz, Phil Nash, and Jason Turner, providing in-depth instruction on utilizing these language features. Workshop Details JASON TURNER Applied constexpr: The Power of Compile-Time Resources By now we all know that constexpr can be used to generate virtually anything at compile time. But what does this mean for our normal day to day C++ work? How, why, and most importantly where do we use constexpr to get the most out of it in our quest for clean, efficient C++? MATEUSZ PUSZ C++ Concepts: Constraining C++ Templates in C++20 and Before C++ Concepts is one of the most significant and long-awaited features of C++20. They improve template interfaces by explicitly stating the compile-time contract between the user and the architect of the code, which limits the number of compilation errors and makes them much more user-friendly when they occur. The workshop will describe this C++20 feature, its similarities, and differences to Concepts TS (provided with gcc-7), and will present ways to benefit from a significant part of the functionality in current production C++ projects that can use only “legacy” C++11 features. PHIL NASH Understanding C++ 20 Coroutines Coroutines, introduced in C++20, offer a powerful new method for managing the flow of execution in your code. Whether you need to alternate between two or more streams of code in a linear fashion or handle fully asynchronous tasks, Coroutines present a fresh C++ approach to these challenges. They provide the low-level control necessary to achieve optimal performance (with some caveats) while also simplifying the code you write. Though they address a complex set of problems, Coroutines can be tamed! We’ll look at how to get started with minimal knowledge and effort, and then scale up to a solid understanding of how it all hangs together under the hood — and we will use that knowledge to good effect. Please note that these workshops require separate tickets from the main conference. You have the option to attend either or both days. Lunch and refreshments are included, and don’t forget to bring your laptop! Sold Out Location Breepark is a new and modern conference facility in Breda, the Netherlands. Easily accessible by public transit from downtown Breda and by train from surrounding countries. More info on travel directions and discover the highlights of Breda here. Visit Breepark.nl Sponsors These are the companies that make everything possible. Founding Sponsor Platinum Sponsors Workshop Sponsor Gold Sponsors Silver Sponsors Video Sponsor Community Sponsors Getting to Breepark, Breda Breepark is located directly on the A27 and therefore accessible by car. Plus, there are more than 2,000 free parking spaces! If you are planning your journey from abroad, you can book your international journey to Breda with NS International train. By car you can reach Breepark from the center of Breda in about fifteen minutes. By bike it is about twenty minutes ride from the center of Breda to Breepark. Uber is also an option. On this page you will find the map of Breepark. Check out the official website of the Municipality of Breda to know how to get around in Breda, discover places to visit and tips on where to stay. Bus 130 It is super easy to reach the venue by bus from Central Station in Breda. Here are the available bus times from Breda Central Station to Breepark that will get you there in time for the reception. Note that these times are for bus 130. After these listed times, the bus runs only once per hour, so please plan accordingly. More info: bus 130. Be Our Guest! Receive a 10% discount on your reservation at Golden Tulip Hotel Keyser in Breda. Apply the voucher code CPP2024 during the booking process. This offer is valid for stays between October 9th, 2024, and October 13th, 2024. To avail of the discount, please ensure that you input the promotional code “CPP2024” during the booking process. This offer applies to reservations made with or without breakfast included. Kindly note that this discount is exclusively applicable for direct bookings made through www.hotel-keyser.nl and does not extend to bookings made via external booking channels. Book Now Sold Out C++ Under the Sea is a new conference in Breda, the Netherlands. See you on Friday, 11th October 2024, or at our workshops on Thursday, October 10. Did you know... the Haarlemmer Lake was drained in 1852 and the first aircraft landed at Amsterdam Schiphol Airport in 1916. Technically, the airport lies on the bottom of the lake, over four metres below sea level. CPP Under the Sea B.V. Korte Lijnbaanssteeg 1/4251,1012SL Amsterdam The Netherlands KVK 92825745BTW NL866185240B01 FAQCode of Conduct NEWS The TeamContact Linkedin Twitter Designed by Christine Santiano © 2024 C++ Under the Sea Theme by Anders Norén
en
us
en-US
1730838181
https://cppunderthesea.nl
Fa'atonu lau saite?
O au mea na e fai?