Distributed Ranges: A Model for Building Distributed Data Structures, Algorithms, and ViewsGPU Tile 1 Tile 0 Xe LinkProject Goals - Offer high-level, standard C++ distributed data structures - Support distributed algorithms - Achieve high performance for both multi-GPU, NUMA, and multi-node reduce(par_unseq, z, 0, std::plus()); }Outline - Background (Ranges, Parallelism, Distributed Data Structures) - Distributed Ranges (Concepts) - Implementation (Algorithms and views) - Complex sparse matrices) - Lessons learnedOutline - Background (Ranges, Parallelism, Distributed Data Structures) - Distributed Ranges (Concepts) - Implementation (Algorithms and views) - Complex0 码力 | 127 页 | 2.06 MB | 6 月前3
C++20 镶 SQLC++20 ❤ SQL John R Bandela, MDOverview u SQL u C++ Example u Implementation techniques u fixed_string u meta_struct u Parsing compile time strings into meta_structsOverview v SQL v C++ Example {price_from_user};Avoiding SQL Injection Attacks SELECT orders.id, name, item, price, discount_code FROM orders JOIN customers ON customers.id = customerid WHERE price > ?;SQL Library Options u Traditional Lots of information available u Vulnerable to sql injection of developer not careful u Use dynamic typingDomain Specific Language u Use types to encode SQL u Looks more like regular C++ u Typically requires0 码力 | 46 页 | 775.02 KB | 6 月前3
POCOAS in C++: A Portable Abstraction for Distributed Data Structuresprogram for a supercomputer? Introduce PGAS Model, RDMA Building Remote Pointer Types Building Distributed Data Structures Extending to GPUsThis Talk Background: how do we write a program for a supercomputer supercomputer? Introduce PGAS Model, RDMA Building Remote Pointer Types Building Distributed Data Structures Extending to GPUsThis Talk Background: how do we write a program for a supercomputer? Introduce Introduce PGAS Model, RDMA Building Remote Pointer Types Building Distributed Data Structures Extending to GPUsThis Talk Background: how do we write a program for a supercomputer? Introduce PGAS Model0 码力 | 128 页 | 2.03 MB | 6 月前3
Performance Mattersperiods The sum of a sufficient number of independent, identically distributed random variables is approximately normally distributed. STABILIZER repeatedly randomizes layoutSTABILIZER generates a new periods The sum of a sufficient number of independent, identically distributed random variables is approximately normally distributed. STABILIZER repeatedly randomizes layoutSTABILIZER generates a new identically distributed random variables is approximately normally distributed. STABILIZER repeatedly randomizes layoutCentral Limit Theorem execution times are normally distributed The sum of a0 码力 | 197 页 | 11.90 MB | 6 月前3
Make Successor Build Systems: World Tour of Build Systemsfile-system caching as the previous level and adds support for distributed cachingCaching Level 4 - Bazel Supports file-system and distributed caching as with the previous level, but based on the digest cache and/or run targets on a shared distributed systemDistributed/remote builds The ability of a build system to cache and/or run targets on a shared distributed system * also known as the thing that that pays my salary :)Distributed builds Level 1 - Make, Ninja, Meson No distributed caching or execution out of the box, everything runs locallyDistributed builds Level 2 - Gradle Has support for0 码力 | 115 页 | 7.02 MB | 6 月前3
From Eager Futures/Promises to Lazy Continuations: Evolving an Actor Library Based on Lessons Learned from Large-Scale Deploymentstype erasurekey challenges we’ve faced building distributed systems with good performance and correctnesskey challenges we’ve faced building distributed systems with good performance and correctnesschallenges “messages” to other actors is non-blocking (no waiting!) ● same programming model whether local or distributed“actors” in C++ many actor libraries are based on low-level message-passing “send/receive” struct will often need to be shared and/or moved between execution resources (i.e., cores) but for distributed/network services, the data is often only shared with other machines and bouncing the data unnecessarily0 码力 | 264 页 | 588.96 KB | 6 月前3
Beyond struct: Programming a Struct Replacement in C++202})">(s); whole) { return groups; } else { return std::nullopt; } } Possible API (not implemented)SQL C++20 ❤ SQL https://github.com/google/cpp-from-the-sky-down/tree/master/meta_struct_20/cppcon_version0 码力 | 65 页 | 702.78 KB | 6 月前3
Back to Basics: Debugging Techniquescallgrind, helgrind, ...) • Call tracers and domain-specific diagnostic tools (strace, wireshark, SQL analyzers...) • Comments • Very powerful tools for deterministic problems • Not always useful for callgrind, helgrind, ...) • Call tracers and domain-specific diagnostic tools (strace, wireshark, SQL analyzers...) 42CppCon 2021 – Back to Basics: Debugging Techniques Copyright © 2021 Bob Steagall0 码力 | 44 页 | 470.68 KB | 6 月前3
Expressive Compile-time Parserslanguage tailored to solve problems within a specific domain or application context. Examples: • SQL • CSS • Regular Expressions (PCRE) • Make (makefile)DSL Example – Boost Spirit Boost Spirit library std::string_view generate_error(){ /*...*/ } static_assert(false, generate_error());C++ JSON SQL Haskell Macro Rules EBNF PCRE (regex)Thank You Questions?0 码力 | 134 页 | 1.73 MB | 6 月前3
Remote Execution Caching Compiler (RECC)any remote execution API server supported by Bazel ○ Single Host Server/Proxy: BuildBox-CASD ○ Distributed Server: BuildGrid© 2024 Bloomberg Finance L.P. All rights reserved. How RECC Works? ● Computes across developer builds ● Used in all phases of the Software Development Lifecycle (SDLC) ● Distributed remote compilation and linking ● Builds on Small VMs with recc; outperforms non-recc builds on FARM BuildBox-CASD (Local Caching Proxy) BuildBox-Fuse (FUSE filesystem) + Distributed Cache + Distributed Build:© 2024 Bloomberg Finance L.P. All rights reserved. Discover More! Install via0 码力 | 6 页 | 2.03 MB | 6 月前3
共 116 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
相关搜索词
DistributedRangesModelforBuildingDataStructuresAlgorithmsandViewsC++20SQLPOCOASinPortableAbstractionPerformanceMattersMakeSuccessorBuildSystemsWorldTourofFromEagerFuturesPromisestoLazyContinuationsEvolvinganActorLibraryBasedonLessonsLearnedfromLargeScaleDeploymentsBeyondstructProgrammingStructReplacementBackBasicsDebuggingTechniquesExpressiveCompiletimeParsersRemoteExecutionCachingCompilerRECC













