September 17th 2025: twelfth Kokkos tea-time
Experience converting large scientific software packages written in C++ to C++20 modules

CExA organizes its twelfth international Kokkos tea-time on Wednesday, September the 17th, 2025 for 45min starting at 7AM PDT, 9AM MDT, 11AM EST, 3PM UTC, 4PM CEST. It can be followed on Zoom, by phone, or from a visio room.
Wolfgang Bangerth will give a talk entitled “Experience converting large scientific software packages written in C++ to C++20 modules”
Wolfgang Bangerth is a professor of mathematics and geosciences at Colorado State University, USA. He holds an undergraduate degree in physics, and a PhD in mathematics from Heidelberg University, Germany. As a graduate student in 1997, he co-founded the deal.II project (https://www.dealii.org), a widely used software library that provides finite element functionality. He is now one of the Principal Developers of the project.
Experience converting large scientific software packages written in C++ to C++20 modules
Many of the most widely used scientific software libraries are written in C++, but almost all of them still use the traditional header-based approach inherited from C to connect declarations provided in one file to uses and implementations in another file. On the other hand, C++20 has introduced a module system that is intended to give C++ a proper “import” statement that goes beyond the textual inclusion of “#include”.
In this talk, I will outline my experience with converting the deal.II finite element library – a library with 1.8M lines of C++ – to use C++20-style modules. I will discuss how I did this from a technical perspective, and in particular how that actually works in practice.
Contribute
Any subject is welcome if it is related to the Kokkos ecosystem (developments, usage, projects, issues, etc.) or even to GPU programming at large. Feel free to contact us to propose a talk: contact@cexa-project.org
We target very informal discussion in English. You can propose any subject for discussion even if you don’t have a dedicated slide deck.
Additional info
Zoom link
In a web browser or from the application.
https://cnrs.zoom.us/j/97834891802?pwd=NXhzd2paY051S3dQekVQVllvTW5MUT09
- Meeting ID: 978 3489 1802
- Passcode: VdCL7d
From a visio room
in SIP
in H.323
- 213.244.140.110 (Germany)
- 213.19.144.110 (Amsterdam Netherlands)
- 162.255.37.11 (US West)
- 162.255.36.11 (US East)
Meeting ID: 978 3489 1802
Passcode: 712542
One tap mobile
+33170950350,,97834891802#,,,,*712542# France +33186995831,,97834891802#,,,,*712542# France
By phone
- Meeting ID: 978 3489 1802
- Passcode: 712542
- Find your local number: https://cnrs.zoom.us/u/adb4LKJbkK
Dial by your location
- +33 1 7095 0350 France
- +33 1 8699 5831 France
- +33 1 7037 2246 France
- +33 1 7037 9729 France
- +33 1 7095 0103 France
- +34 91 787 0058 Spain
- +34 917 873 431 Spain
- +34 84 368 5025 Spain
- +358 9 4245 1488 Finland
- +358 9 7252 2471 Finland
- +358 3 4109 2129 Finland
- +372 660 1699 Estonia
- +372 880 1188 Estonia
- +36 1 701 0488 Hungary
- +36 1 779 9126 Hungary
- +36 1 408 8456 Hungary
- +353 1 653 3898 Ireland
- +353 6 163 9031 Ireland
- +353 1 240 8941 Ireland
- +353 1 536 9320 Ireland
- +353 1 653 3895 Ireland
- +353 1 653 3897 Ireland
- +39 021 241 28 823 Italy
- +39 069 480 6488 Italy
- +39 020 066 7245 Italy
- +371 6303 1808 Latvia
- +371 6303 1888 Latvia
- +370 3799 9260 Lithuania
- +370 5214 1488 Lithuania
- +352 2786 4277 Luxembourg
- +352 342 080 9265 Luxembourg
- +352 2786 1188 Luxembourg
- +49 695 050 2596 Germany
- +49 69 7104 9922 Germany
- +49 69 3807 9883 Germany
- +49 69 3807 9884 Germany
- +49 69 5050 0951 Germany
- +49 69 5050 0952 Germany
- +43 670 309 0165 Austria
- +43 72 011 5988 Austria
- +43 120 609 3072 Austria
- +43 12 535 501 Austria
- +43 12 535 502 Austria
- +32 2 788 0172 Belgium
- +32 2 788 0173 Belgium
- +32 1579 5132 Belgium
- +32 2 290 9360 Belgium
- +32 2 585 5574 Belgium
- +32 2 588 4188 Belgium
- +359 2 492 5688 Bulgaria
- +359 3 257 1633 Bulgaria
- +385 1300 0988 Croatia
- +385 1777 6333 Croatia
- +45 47 37 25 75 Denmark
- +45 89 88 37 88 Denmark
- +45 32 70 12 06 Denmark
- +45 32 71 31 57 Denmark
- +45 32 72 80 10 Denmark
- +45 32 72 80 11 Denmark
- +30 211 198 4488 Greece
- +30 231 118 0599 Greece
- +47 2400 4735 Norway
- +47 2400 4736 Norway
- +31 20 794 7345 Netherlands
- +31 707 006 526 Netherlands
- +31 20 241 0288 Netherlands
- +31 20 794 0854 Netherlands
- +31 20 794 6519 Netherlands
- +31 20 794 6520 Netherlands
- +48 22 307 3488 Poland
- +48 22 398 7356 Poland
- +48 22 306 5342 Poland
- +351 308 804 188 Portugal
- +351 308 810 988 Portugal
- +351 211 202 618 Portugal
- +40 31 630 1088 Romania
- +40 37 170 0418 Romania
- +44 203 901 7895 United Kingdom
- +44 208 080 6591 United Kingdom
- +44 208 080 6592 United Kingdom
- +44 330 088 5830 United Kingdom
- +44 131 460 1196 United Kingdom
- +44 203 481 5237 United Kingdom
- +44 203 481 5240 United Kingdom
- +7 499 951 6379 Russia
- +7 499 951 6380 Russia
- +420 2 3901 8272 Czech Republic
- +420 5 3889 0161 Czech Republic
- +420 2 2888 2388 Czech Republic
- +41 43 210 71 08 Switzerland
- +41 44 529 92 72 Switzerland
- +41 22 591 00 05 Switzerland
- +41 22 591 01 56 Switzerland
- +41 31 528 09 88 Switzerland
- +41 43 210 70 42 Switzerland
- +46 8 5052 0017 Sweden
- +46 850 539 728 Sweden
- +46 8 4468 2488 Sweden
- +46 8 5016 3827 Sweden
- +46 8 5050 0828 Sweden
- +46 8 5050 0829 Sweden
- +1 564 217 2000 US
- +1 646 931 3860 US
- +1 669 444 9171 US
- +1 669 900 6833 US (San Jose)
- +1 689 278 1000 US
- +1 719 359 4580 US
- +1 929 205 6099 US (New York)
- +1 253 205 0468 US
- +1 253 215 8782 US (Tacoma)
- +1 301 715 8592 US (Washington DC)
- +1 305 224 1968 US
- +1 309 205 3325 US
- +1 312 626 6799 US (Chicago)
- +1 346 248 7799 US (Houston)
- +1 360 209 5623 US
- +1 386 347 5053 US
- +1 507 473 4847 US