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
FISCO BCOS 2.3.0 中文文档account successfully => account: Bob, value: 100000 $ bash asset_run.sh query Alice account Alice, value 100000 $ bash asset_run.sh query Bob account Bob, value 100000 总结: 至此,我们通过合约开发,合约编译,SDK配置与业务开发构建了一 个基于FISCO from_account: Alice, to_account: Bob, amount: 50000 $ bash asset_run.sh query Alice account Alice, value 50000 $ bash asset_run.sh query Bob account Bob, value 150000 使用手册 本章提供了FISCO BCOS平台的使用手册,使用手册介绍FISCO BCOS支持交易的并行执行。开启交易并行执行开关,能够让区块内 的交易被并行的执行,提高吞吐量,交易并行执行仅在storage state模式下生 效。 注解 为简化系统配置,v2.3.0去除了 enable_parallel 配置项,该配置项仅在 supported_version < v2.3.0 时生效,v2.3.0版本中: storageState模式:开启并行交易 mptState模式: 关闭并行交易0 码力 | 1227 页 | 10.79 MB | 1 年前3
FISCO BCOS 2.1.0 中文文档100000 $ bash asset_run.sh query Alice account Alice, value 100000 资产转移 总结: 至此,我们通过合约开发,合约编译,SDK配置与业务开发构建了一 个基于FISCO BCOS联盟区块链的应用。 $ bash asset_run.sh query Bob account Bob from_account: Alice, to_account: Bob, amount: 50000 $ bash asset_run.sh query Alice account Alice, value 50000 $ bash asset_run.sh query Bob account Bob, value 150000 使用手册 本章提供了FISCO BCOS平台的使用手册,使用手册介绍FISCO 机器网络或CPU等硬件性能有限:调小tx_count_limit,或降低业务压 力; 业务逻辑太复杂,执行交易时gas不足:调大tx_gas_limit。 [tx_execute] enable_parallel=true # 设置一个区块可打包最大交易数为500 [group:1]> setSystemConfigByKey tx_count_limit 500 # 查询tx_count_limit0 码力 | 1058 页 | 740.85 KB | 1 年前3
FISCO BCOS 2.2.0 中文文档succesfully => account: Bob, value: 100000 $ bash asset_run.sh query Alice account Alice, value 100000 $ bash asset_run.sh query Bob account Bob, value 100000 $ bash asset_run from_account: Alice, to_account: Bob, amount: 50000 $ bash asset_run.sh query Alice account Alice, value 50000 $ bash asset_run.sh query Bob account Bob, value 150000 使用手册 本章提供了FISCO BCOS平台的使用手册,使用手册介绍FISCO 不建议随意修改tx_count_limit和tx_gas_limit,如下情况可修改这些参数: [sync] send_txs_by_tree=false [tx_execute] enable_parallel=true 机器网络或CPU等硬件性能有限:调小tx_count_limit,或降低业务压 力; 业务逻辑太复杂,执行交易时gas不足:调大tx_gas_limit。 # 设置一个区块可打包最大交易数为5000 码力 | 1156 页 | 10.03 MB | 1 年前3
FISCO BCOS 2.4.0 中文文档account successfully => account: Bob, value: 100000 $ bash asset_run.sh query Alice account Alice, value 100000 $ bash asset_run.sh query Bob account Bob, value 100000 $ bash asset_run.sh transfer Alice Bob from_account: Alice, to_account: Bob, amount: 50000 $ bash asset_run.sh query Alice account Alice, value 50000 $ bash asset_run.sh query Bob account Bob, value 150000 总结: 至此,我们通过合约开发,合约编译,SDK配置与业务开发构建了一 个基于FISCO BCOS支持交易的并行执行。开启交易并行执行开关,能够让区块内 的交易被并行的执行,提高吞吐量,交易并行执行仅在storage state模式下生 效。 注解 为简化系统配置,v2.3.0去除了 enable_parallel 配置项,该配置项仅在 supported_version < v2.3.0 时生效,v2.3.0版本中: storageState模式:开启并行交易 mptState模式: 关闭并行交易0 码力 | 1314 页 | 11.21 MB | 1 年前3
FISCO BCOS 2.5.0 中文文档account successfully => account: Bob, value: 100000 $ bash asset_run.sh query Alice account Alice, value 100000 $ bash asset_run.sh query Bob account Bob, value 100000 $ bash asset_run.sh transfer Alice Bob from_account: Alice, to_account: Bob, amount: 50000 $ bash asset_run.sh query Alice account Alice, value 50000 $ bash asset_run.sh query Bob account Bob, value 150000 总结: 至此,我们通过合约开发,合约编译,SDK配置与业务开发构建了一 个基于FISCO ; 每个节点每轮最多随机选择5个邻居节点同步最新交易状态 txs_max_gossip_peers_num=5 效。 注解 为简化系统配置,v2.3.0去除了 enable_parallel 配置项,该配置项仅在 supported_version < v2.3.0 时生效,v2.3.0版本中: storageState模式:开启并行交易 mptState模式: 关闭并行交易0 码力 | 1456 页 | 13.35 MB | 1 年前3
FISCO BCOS 2.6.0 中文文档account successfully => account: Bob, value: 100000 $ bash asset_run.sh query Alice account Alice, value 100000 $ bash asset_run.sh query Bob account Bob, value 100000 $ bash asset_run.sh transfer Alice Bob from_account: Alice, to_account: Bob, amount: 50000 $ bash asset_run.sh query Alice account Alice, value 50000 $ bash asset_run.sh query Bob account Bob, value 150000 下载控制台 download_console.sh脚本提供获取所有版本的控制台的功能,默认获取 [sync] ; 每个节点每轮最多随机选择5个邻居节点同步最新交易状态 txs_max_gossip_peers_num=5 为简化系统配置,v2.3.0去除了 enable_parallel 配置项,该配置项仅在 supported_version < v2.3.0 时生效,v2.3.0版本中: storageState模式:开启并行交易 mptState模式: 关闭并行交易0 码力 | 2383 页 | 18.83 MB | 1 年前3
Conan 1.26 Documentationgenerator=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. • contain the temporary build files • parallel: Set it to False to deactivate using parallel builds. If activated, it will use cpu_count configuration as the number of parallel jobs to use. • msbuild_verbosity:0 码力 | 669 页 | 5.51 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













