Interesting Upcoming Features from Low Latency, Parallelism and Concurrency
optimization. ● Users are already using ranges with non-range parallel algorithms; integrating execution policies simplifies and streamlines code. The Power of Ranges and Parallelism ● The C++ Ranges library Introduction of bounded ranges for better parallel performance. ● ● Execution policies: Parallel range algorithms accept execution policies to control parallelism. ● Random access ranges: Algorithms require random-access abstraction that answers "where" the code should be executed. ● Limitations of current execution policies in specifying hardware execution contexts. C++17 parallel algorithms: A good start Current limitation:0 码力 | 56 页 | 514.85 KB | 5 月前3Template-Less Meta-Programming
Powered by TMP p.a; p.b; p.c; } ); 7 / 58[Examples] Performance / Policies [Examples] Performance / Policies constexpr std::array protocols{ std::pair{"ftp"sv, protocol::FTP}, std::pair{"file"sv protocol::WS}, std::pair{"wss"sv, protocol::WSS}, }; 8 / 58[Examples] Performance / Policies [Examples] Performance / Policies constexpr std::array protocols{ std::pair{"ftp"sv, protocol::FTP}, std::pair{"file"sv lookup(std::string_view) -> protocol; // Powered by TMP 8 / 58[Examples] Performance / Policies [Examples] Performance / Policies [1]: #uOps [2]: Latency [3]: RThroughput [4]: MayLoad [5]: MayStore [6]: HasSideEffects0 码力 | 130 页 | 5.79 MB | 5 月前3The Most Important Design Guideline is Testability
must be removed •Deprecation Policies114 How can we test it? •Stopped using Power Peg in 2003, dead code still around •Dead code must be removed •Deprecation Policies •Code Review115 How can we •Stopped using Power Peg in 2003, dead code still around •Dead code must be removed •Deprecation Policies •Code Review •Static Analysis and Code Coverage116 How can we test it? •Remove old code and How can we test it? •Refactored code in 2005 ; moved dead code ; test still pass •Deprecation Policies •Code Review •Static Analysis and Code Coverage •Functionality Tests (unit tests or Knuth's torture0 码力 | 126 页 | 9.11 MB | 5 月前3Distributed Ranges: A Model for Building Distributed Data Structures, Algorithms, and Views
}Standard C++ Parallelism - All depends on ranges library, iteration concepts - Extensible: execution policies allow parallel execution using namespace std; using namespace std::ranges; using namespace std::execution; std::plus()); } - All depends on ranges library, iteration concepts - Extensible: execution policies allow parallel execution - Standard allows implementation-defined execution policiesStandard library, iteration concepts - Extensible: execution policies allow parallel execution - Standard allows implementation-defined execution policies Question: where’s the data?C++ 20 added the ranges0 码力 | 127 页 | 2.06 MB | 5 月前3Spanny 2: Rise of std::mdspan
storage location layout(N,M,Q,R,…) → offset 24github.com/griswaldbrooks/spanny2 standard layout policies 25github.com/griswaldbrooks/spanny2 layout_right = layout_leftT row major C++ arrays, numpy customization with layout and accessor policies built-in options: layout_right, layout_left, layout_stride, submdspan, default_accessor implementing custom policies with state and non-default constructors0 码力 | 117 页 | 2.02 MB | 5 月前3cppcon 2021 safety guidelines for C parallel and concurrency
17: scoped _lock, shared_mutex, ordering of memory models, progress guarantees, TOE, execution policies C++20: atomic_ref, Latches and barriers, atomicAtomics & padding bits Simplified memory model C++11: lambda C++14: generic lambda C++17: , progress guarantees, TOE, execution policies C++20: atomic_ref Future safety rules for C++ 20/23 parallelism • Not inventing, just documenting 0 码力 | 52 页 | 3.14 MB | 5 月前3Linear Algebra Coming to Standard C++
operations (e.g., for vectorization) • 4 Standard policies, & vendors can add more • “On-ramp” to vendor-specific performance • NVIDIA’s implementation has policies to run on a given CUDA stream, &/or run0 码力 | 46 页 | 2.95 MB | 5 月前3Conan 1.3 Documentation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 9.4 Build policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 the conan package with the binaries to the conan remote with conan upload. • The same building policies apply. Having a recipe will fail if no conan packages are created, and the --build argument is not will be retrieved, so subsequent calls to install will find them locally and use them. 9.4 Build policies By default, conan install command will search for a binary package (corresponding to our settings0 码力 | 397 页 | 2.77 MB | 1 年前3Conan 1.7 Documentation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 9.5 Build policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 the Conan package with the binaries to the Conan remote with conan upload. • The same building policies apply. Having a recipe fails if no Conan packages are created, and the --build argument is not defined locally and use them. 98 Chapter 9. Mastering conan conan Documentation, Release 1.7.4 9.5 Build policies By default, conan install command will search for a binary package (corresponding to our settings0 码力 | 433 页 | 2.95 MB | 1 年前3Conan 1.4 Documentation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 10.4 Build policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 the conan package with the binaries to the conan remote with conan upload. • The same building policies apply. Having a recipe will fail if no conan packages are created, and the --build argument is not will be retrieved, so subsequent calls to install will find them locally and use them. 10.4 Build policies By default, conan install command will search for a binary package (corresponding to our settings0 码力 | 421 页 | 2.84 MB | 1 年前3
共 92 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
相关搜索词
InterestingUpcomingFeaturesfromLowLatencyParallelismandConcurrencyTemplateLessMetaProgrammingTheMostImportantDesignGuidelineisTestabilityDistributedRangesModelforBuildingDataStructuresAlgorithmsViewsSpannyRiseofstdmdspancppcon2021safetyguidelinesparallelconcurrencyLinearAlgebraComingtoStandardC++Conan1.3Documentation1.71.4