cppcon 2021 safety guidelines for C parallel and concurrencymine, all mine! You can’t have them. Agenda 1. Current status of C++ safety: MISRA and C++ CG 2. Parallel Safety rules 3. Automotive Safety case Safety Critical API Evolution minimize API surface area no harm What is still missing? So far most only deal with Sequential code Very few deal with Parallel code Even fewer deal with Concurrent, event driven code None deal with Heterogeneous dispatch rules pulled from • C++CG • HIC++ • REphrase H2020 project • CERT C++ • JSF++ (no parallel rules) • WG23 (no parallel rules) • Added some from our own contributions • Many joined, average 5-8 per meeting0 码力 | 52 页 | 3.14 MB | 6 月前3
Design patterns for error handling in C++ programs using parallel algorithms and executorsprograms using parallel algorithms and executors Mark Hoemmen* mhoemmen@stellarscience.com CppCon 2020 * hoʊ’mən, or hœm’mən; he/himWho am I? • > 10 years post-PhD experience writing parallel C++ for for science and engineering • Background: Parallel algorithms for big linear algebra problems • 1st WG21: Nov 2017 • Started new job at Stellar Science in March Eschew raw pointersOutline • Parallelism Parallelism makes error handling harder… • …C++ parallel algorithms and tasks specifically • Message Passing Interface (MPI): 3 decades of distributed-memory parallel programming • MPI teaches design patterns0 码力 | 32 页 | 883.27 KB | 6 月前3
simd: How to Express Inherent Parallelism Efficiently Via Data-Parallel Typesdata-parallel types Dr. Matthias Kretz GSI Helmholtz Center for Heavy Ion Research CppCon ’23 @mkretz@floss.social github.com/mattkretzMotivation std::simd Overview Example: Image Processing Programming CppCon ’23 3 GSI Helmholtz Center for Heavy Ion ResearchMotivation std::simd Overview Example: Image Processing Programming Models Outlook Summary Motivation Motivation © by Matthias Kretz Matthias Kretz CppCon CppCon ’23 GSI Helmholtz Center for Heavy Ion ResearchMotivation std::simd Overview Example: Image Processing Programming Models Outlook Summary std::simd is for you! Matthias Kretz CppCon ’23 4 GSI Helmholtz0 码力 | 160 页 | 8.82 MB | 6 月前3
Back to Basics: ConcurrencySeymour Cray pioneers pipelining ○ 1972 - CDC 8600 Multiprocessor ○ 1975 - Cray-1 pioneered vector processing (i.e. SIMD)Now for code...(almost) Let’s see our first mechanism for concurrent programming 37 using threads on your GPU for graphics ■ GPUs have 100s or 1000s of threads that are good for massively parallel tasks. ● (You could also use things like CUDA to take advantage of your graphics hardware) the sizes of files in a directory to find the total bytes of the files in a directory ■ i.e., a parallel wc tool ○ Each of those threads then needs to write to some ‘shared value’ to sum the total.0 码力 | 141 页 | 6.02 MB | 6 月前3
Conan 1.26 Documentationhttps://github.com/conan-io/conan-center-index Homepage: https://zlib.net License: Zlib Description: A Massively Spiffy Yet Delicately Unobtrusive Compression Library (Also␣ ˓→Free, Not to Mention Unencumbered generator=None, generator_platform=None, build_type=None, cmake_system_name=True, toolset=None, parallel=True, make_program=None): Most of the arguments are optional and will be deduced from the current following methods: constructor def __init__(self, conanfile, generator=None, build_folder=None, parallel=True, msbuild_verbosity="minimal"): • conanfile: the current recipe object. Always use self. •0 码力 | 669 页 | 5.51 MB | 1 年前3
Conan 1.24 Documentationhttps://github.com/conan-io/conan-center-index Homepage: https://zlib.net License: Zlib Description: A Massively Spiffy Yet Delicately Unobtrusive Compression Library (Also␣ ˓→Free, Not to Mention Unencumbered the CI can take the first sublist output of conan graph build-order and fire all its packages in parallel, because they are guaranteed to be independent. Then, as soon as they start finishing and build conan normally, config & data will be in /tmp/conan/.conan You can now: • Build concurrent jobs, parallel builds in Continuous Integration or locally, by just setting the variable before launching Conan0 码力 | 647 页 | 5.31 MB | 1 年前3
Conan 1.25 Documentationhttps://github.com/conan-io/conan-center-index Homepage: https://zlib.net License: Zlib Description: A Massively Spiffy Yet Delicately Unobtrusive Compression Library (Also␣ ˓→Free, Not to Mention Unencumbered the CI can take the first sublist output of conan graph build-order and fire all its packages in parallel, because they are guaranteed to be independent. Then, as soon as they start finishing and build conan normally, config & data will be in /tmp/conan/.conan You can now: • Build concurrent jobs, parallel builds in Continuous Integration or locally, by just setting the variable before launching Conan0 码力 | 655 页 | 5.45 MB | 1 年前3
Conan 1.30 Documentationhttps://github.com/conan-io/conan-center-index Homepage: https://zlib.net License: Zlib Description: A Massively Spiffy Yet Delicately Unobtrusive Compression Library (Also␣ ˓→Free, Not to Mention Unencumbered generator=None, generator_platform=None, build_type=None, cmake_system_name=True, toolset=None, parallel=True, make_program=None): Most of the arguments are optional and will be deduced from the current following methods: constructor def __init__(self, conanfile, generator=None, build_folder=None, parallel=True, msbuild_verbosity="minimal"): • conanfile: the current recipe object. Always use self. •0 码力 | 715 页 | 5.39 MB | 1 年前3
Conan 1.31 Documentationhttps://github.com/conan-io/conan-center-index Homepage: https://zlib.net License: Zlib Description: A Massively Spiffy Yet Delicately Unobtrusive Compression Library (Also␣ ˓→Free, Not to Mention Unencumbered generator=None, generator_platform=None, build_type=None, cmake_system_name=True, toolset=None, parallel=True, make_program=None): Most of the arguments are optional and will be deduced from the current following methods: constructor def __init__(self, conanfile, generator=None, build_folder=None, parallel=True, msbuild_verbosity="minimal"): • conanfile: the current recipe object. Always use self. •0 码力 | 721 页 | 5.41 MB | 1 年前3
Conan 1.28 Documentationhttps://github.com/conan-io/conan-center-index Homepage: https://zlib.net License: Zlib Description: A Massively Spiffy Yet Delicately Unobtrusive Compression Library (Also␣ ˓→Free, Not to Mention Unencumbered generator=None, generator_platform=None, build_type=None, cmake_system_name=True, toolset=None, parallel=True, make_program=None): Most of the arguments are optional and will be deduced from the current following methods: constructor def __init__(self, conanfile, generator=None, build_folder=None, parallel=True, msbuild_verbosity="minimal"): • conanfile: the current recipe object. Always use self. •0 码力 | 699 页 | 5.39 MB | 1 年前3
共 185 条
- 1
- 2
- 3
- 4
- 5
- 6
- 19













