Loading…
Attending this event?
Monday September 16, 2024 15:15 - 16:15 MDT
This talk presents a series of effective patterns to address challenges arising when
code is developed that shall operate seamlessly on both GPU (Cuda) and CPU environments.
This scenario is a common oversight among Cuda developers,
given the substantial architectural differences between CPUs and GPUs.

The patterns presented cover a range of scenarios,
from handling stray function calls,
strategies for conditional compilation,
exploiting constexpr functions,
leveraging undefined behaviour,
usage of Cuda specific macros,
conditional instantiation of templates,
and
managing compiler warnings and errors.

Key patterns include: "Host device everything", "Conditional function body", "Constexpr everything", "Disable the warnings", "Defensive Programming", "Conditional Host Device Template", and "Function dispatching".

We evaluate each pattern based on ease of use, maintenance overhead, applicability and known usages. Additionally, pitfalls to avoid and considerations for implementations are provided to guide developers in adopting these patterns effectively.
Speakers
avatar for Thomas Mejstrik

Thomas Mejstrik

Scientist, University of Vienna
Thomas Mejstrik earned his doctoral degree in Mathematics from the University of Vienna, Austria, specializing in numerical linear algebra and high-performance computing. Additionally, he obtained a Master's degree in Piano Education from the University of Music and Performing Arts... Read More →
Monday September 16, 2024 15:15 - 16:15 MDT
Cottonwood 8/9

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Share Modal

Share this link via

Or copy link