C++ Standard Parallelism - Bryce Adelstein Lelbach - CppNow 2022

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ต.ค. 2024
  • Slides: github.com/boo...
    CppNow Website: www.cppnow.org​
    CppNow Twitter: @CppNow​
    ---
    C++ Standard Parallelism - Bryce Adelstein Lelbach - CppNow 2022
    Imagine writing parallel code that can run on any platform - CPUs, GPUs, DPUs, specialized accelerators, etc - without any language or vendor extensions, external libraries, or special compilation tools. It's no longer just a dream - you can do it today in Standard C++!
    Parallelism is increasingly common in software, from supercomputer simulations to mobile applications. But writing parallel code is increasingly challenging, due to an explosion of diversity in hardware, a trend that's likely to continue into the future. To meet this challenge, the C++ Committee has developed C++ Standard Parallelism, a parallel programming model for Standard C++ that is portable to all platforms, from your smartwatch to your supercomputer, and delivers reasonable performance and efficiency for most use cases.
    Our vision of C++ Standard Parallelism consists of three key components:
    Common parallel algorithms that dispatch to vendor-optimized parallel libraries
    Tools to write your own parallel algorithms that run anywhere.
    Mechanisms for composing parallel invocations of algorithms into task graphs.
    In this talk, we'll dive into the roadmap for C++ Standard Parallelism - we'll discuss what we already have that you can use today, what's coming down the line, and where the future may lead us.
    ---
    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.
    ---
    Videos Filmed & Edited By Bash Films bashfilms.com/
    TH-cam Channel Managed By Digital Medium Ltd: events.digital...
    #Boost​ #Cpp​ #CppNow​

ความคิดเห็น • 2

  • @TheKongWinther
    @TheKongWinther ปีที่แล้ว

    Interesting talk. Are code examples available somewhere by any chance? It would be very interesting to see the finer details of that Maxwell solver.

  • @ABaumstumpf
    @ABaumstumpf ปีที่แล้ว +1

    But undefined behaviour is (nearly) never helpful to the developer. They make it harder to reason about the code and can make it impossible to check for certain things.
    And it is also a big problem that the language is so restrictive and often even opposed to the wishes of the community.
    Many things are now implemented (not solves) with templates in libraries - very overcomplicated templates - instead of actual language features.
    Every form of concurrency comes to mind
    And for the restrictions - the language and committee often pride them self with the strict typing yet they ignore the oldest calls for better typing. There is still NO way of defining a strongly typed arithmetic type.
    I want the security of having a specific type that in ever way behaves exactly the same as say an integer but I do Not whish for integers to be even be convertible... And despite constant whishes from thousand upon thousands of developers - nothing.
    Instead we get extremely verbose error prone things like execution policies.