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 Typesstd::simd how to express inherent parallelism efficiently via data-parallel types Dr. Matthias Kretz GSI Helmholtz Center for Heavy Ion Research CppCon ’23 @mkretz@floss.social github.com/mattkretzMotivation g++ -O3 -DNDEBUG -march=native scalar 0.25 FLOP/cycle 0.5 FLOP/cycle data-parallel 8 FLOP/cycle 64 FLOP/cycle A data-parallel type wider than the default can increase ILP! 64 0.25 = 256 times faster g++ -O3 -DNDEBUG -march=native scalar 0.25 FLOP/cycle 0.5 FLOP/cycle data-parallel 8 FLOP/cycle 64 FLOP/cycle A data-parallel type wider than the default can increase ILP! 64 0.25 = 256 times faster0 码力 | 160 页 | 8.82 MB | 6 月前3
TiDB v8.5 Documentationupdate, and delete data · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 139 3.3.6 Query data · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 431 4.7.1 Query Data from a Single Table · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 431 4 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1927 11.3.2 Understanding the Query Execution Plan · · · · · · · · · · · · · · · · · · · · · · · · · 1927 11.3.3 SQL Optimization Process0 码力 | 6730 页 | 111.36 MB | 10 月前3
TiDB v8.4 Documentationupdate, and delete data · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 134 3.3.6 Query data · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 426 4.7.1 Query Data from a Single Table · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 426 4 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1624 11.3.2 Understanding the Query Execution Plan · · · · · · · · · · · · · · · · · · · · · · · · · 1625 11.3.3 SQL Optimization Process0 码力 | 6705 页 | 110.86 MB | 10 月前3
TiDB v8.2 Documentationupdate, and delete data · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 109 3.3.6 Query data · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 401 4.7.1 Query Data from a Single Table · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 401 4 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1503 11.3.2 Understanding the Query Execution Plan · · · · · · · · · · · · · · · · · · · · · · · · · 1504 11.3.3 SQL Optimization Process0 码力 | 6549 页 | 108.77 MB | 10 月前3
TiDB v8.3 Documentationupdate, and delete data · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 112 3.3.6 Query data · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 404 4.7.1 Query Data from a Single Table · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 404 4 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1511 11.3.2 Understanding the Query Execution Plan · · · · · · · · · · · · · · · · · · · · · · · · · 1512 11.3.3 SQL Optimization Process0 码力 | 6606 页 | 109.48 MB | 10 月前3
TiDB v8.1 Documentationupdate, and delete data · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 109 3.3.6 Query data · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 401 4.7.1 Query Data from a Single Table · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 401 4 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1499 11.3.2 Understanding the Query Execution Plan · · · · · · · · · · · · · · · · · · · · · · · · · 1500 11.3.3 SQL Optimization Process0 码力 | 6479 页 | 108.61 MB | 10 月前3
Oracle VM VirtualBox 4.1.40 Programming Guide and Referenceregistered with the host, each of them being an instance of IMachine. From each such instance, one can query additional information, such as the UUID, the name, memory, operating system and more by looking at tributes as well. Notification when a Guest Additions property changes. Interested callees should query IGuest attributes to find out what has changed. 44 5 Classes (interfaces) 5.3 IAppliance Represents the session’s ISession::console attribute. Methods of the IConsole interface allow the caller to query the current virtual machine exe- cution state, pause the machine or power it down, save the machine0 码力 | 306 页 | 1.92 MB | 6 月前3
Oracle VM VirtualBox 4.2.32 Programming Guide and Referenceregistered with the host, each of them being an instance of IMachine. From each such instance, one can query additional information, such as the UUID, the name, memory, operating system and more by looking at tributes as well. Notification when a Guest Additions property changes. Interested callees should query IGuest attributes to find out what has changed. 44 5 Classes (interfaces) 5.3 IAppliance Represents the session’s ISession::console attribute. Methods of the IConsole interface allow the caller to query the current virtual machine exe- cution state, pause the machine or power it down, save the machine0 码力 | 339 页 | 2.07 MB | 6 月前3
共 220 条
- 1
- 2
- 3
- 4
- 5
- 6
- 22













