Lightning Talk: Making Friends With CUDA Programmers (please constexpr all the things) Vasu Agrawal

Ғылым және технология

cppcon.org/
---
Lightning Talk: Making Friends With CUDA Programmers (please constexpr all the things) - Vasu Agrawal - CppCon 2023
github.com/CppCon/CppCon2023
The `--expt-relaxed-constexpr` flag in nvcc allows `constexpr` code to be used on device, removing the need for explicit _device_ annotations. I'll encourage library authors to annotate more code as `constexpr`, allowing CUDA C++ programmers to use the library directly (rather than writing their own), saving work and thus making friends.
---
Vasu Agrawal
Vasu is a research engineer working at the intersection of graphics, machine learning, computer vision, and virtual reality (aka "the Metaverse"), focusing on high-performance, low-latency applications. In his free time, he enjoys watching movies & sci-fi TV shows, learning to play guitar (poorly), and practicing Tae Kwon Do.
---
Videos Filmed & Edited by Bash Films: www.BashFilms.com
KZread Channel Managed by Digital Medium Ltd: events.digital-medium.co.uk
---
Registration for CppCon: cppcon.org/registration/
#cppcon #cppprogramming #cpp

Пікірлер: 10

  • @andmal8
    @andmal826 күн бұрын

    Thank you!

  • @AlfredoCorrea
    @AlfredoCorrea26 күн бұрын

    (all?) inline-able functions should be "device" automatically, for that matter. Not sure what the limitation is.

  • @skeleton_craftGaming
    @skeleton_craftGaming26 күн бұрын

    I may actually go constexpr my stuff now... this also made me think of how that is also better for perf on the CPU (which is the main reason that I would do it since most of the code that I write is not anything that would be run on the GPU anyway...)

  • @yongjack-fi7nd
    @yongjack-fi7nd25 күн бұрын

    at 4:06, std::array is in cpu memory. How GPU can access it in kernel function? It not use cudaMemorycpy copy memory from host to device.

  • @yongjack-fi7nd

    @yongjack-fi7nd

    19 күн бұрын

    copy constructor..

  • @shirasabdurahman8529

    @shirasabdurahman8529

    13 сағат бұрын

    std::array is static-allocated array. It is similar to passing a struct to CUDA kernel which will be copied to global memory or registers. I do not think you can pass a dynamic-allocated std::vector to a CUDA kernel. This is my opinion.

  • @hanyanglee9018
    @hanyanglee901825 күн бұрын

    This is big...

  • @devon9374

    @devon9374

    6 күн бұрын

    That's what she said

  • @shakeb1562

    @shakeb1562

    2 күн бұрын

    How?

Келесі