Multidimensional C++ - Bryce Adelstein Lelbach - CppNorth 2022

Sdílet
Vložit
  • čas přidán 2. 09. 2022
  • CppNorth Twitter: / cppnorth
    CppNorth Website: cppnorth.ca/
    ---
    Multidimensional C++ - Bryce Adelstein Lelbach - CppNorth 2022
    Slides:github.com/CppNorth/CppNorth_...
    CppNorth 2022 video sponsors:
    think-cell: www.think-cell.com/en/
    Adobe: cppatadobe.splashthat.com/
    For decades, C++ has lacked a proper facility for working with multi-dimensional data structures. Finally, in C++23, we have one - `mdspan`, a non-owning multi-dimensional abstraction. It parameterizes layout and access, which allows us to write generic code that is agnostic to the structure and nature of the multi-dimensional data. It supports both compile-time and run-time extents, so we can trade off between compile-time optimizations and run-time flexibility. It has a powerful slicing interface which makes it easy to form new perspectives to our data.
    But `mdspan` doesn't have any iterators.
    ...
    What?
    In this talk, Bryce will take you on a quest - a quest in search of performant multi-dimensional iterators in C++.
    ---
    Bryce Adelstein Lelbach
    Bryce Adelstein Lelbach has spent over a decade developing programming languages and software libraries.
    He is the HPC Programming Models Architect at NVIDIA, where he leads programming language standardization efforts and drives the technical roadmap for NVIDIA's HPC compilers and libraries. Bryce is passionate about C++ and is one of the leaders of the C++ community. He is the chair of INCITS/PL22, the US standards committee for programming languages and the Standard C++ Library Evolution group. He also serves as editor for the INCITS Inclusive Terminology Guidelines. Bryce is the program chair for the C++Now and CppCon conferences. On the C++ Committee, he has personally worked on concurrency primitives, parallel algorithms, executors, and multidimensional arrays.He is one of the founding developers of the HPX parallel runtime system.
    ---
    CZcams Channel Managed By Digital Medium Ltd: events.digital-medium.co.uk
    ---
    #Programming​ #CppNorth #datastructures
  • Věda a technologie

Komentáře • 6

  • @jaycarlson2579
    @jaycarlson2579 Před rokem +4

    I really like how he is driving the goal of having nice to read code as the important as the execution speed.

  • @mbabb
    @mbabb Před rokem +1

    Excellent talk - slides were particularly wonderful insofar as the color coding. Looking forward to mdspan!

  • @victoreijkhout7115
    @victoreijkhout7115 Před 8 měsíci

    Slide 42: `extent` can return an int or "dynamic", so you'd have to cast it first.

  • @haimgrn
    @haimgrn Před 8 měsíci

    Is there already a proposal for integrating this md-range feature into the C++ standard?

  • @victotronics
    @victotronics Před 11 měsíci

    Slide 46: the `[=]` should be `[&]` otherwise you can not write `B`.

    • @haimgrn
      @haimgrn Před 8 měsíci +1

      I think you are referring to slide 45, but anyway `[=]` is okay, because span and mdspan are "reference types". This is similar to shared_ptr for example, that the referred object can mutate even with `const shared_ptr`.