Working with Asynchrony Generically: A Tour of C++ Executors
including some standard ones: an event loop, portable access to the system execution context, nursery for spawned work4 P2300: STD::EXECUTION Proposes: • A set of concepts that represent: • A handle to a compute Example 1: Launching concurrent work6 EXAMPLE: LAUNCHING CONCURRENT WORK namespace ex = std::execution; int compute_intensive(int); int main() { unifex::static_thread_pool pool{8}; ex::scheduler concurrently on a custom execution context libunifex: https://github.com/facebookexperimental/libunifex7 EXAMPLE: LAUNCHING CONCURRENT WORK namespace ex = std::execution; int compute_intensive(int);0 码力 | 121 页 | 7.73 MB | 5 月前3新一代分布式高性能图数据库的构建 - 沈游人
tools • Lots of amazing libraries Rust 编译通过了 bug 比 cpp 少上 百倍 !!! 图模型—— Labeled Property Graph Model Arbitrary (key,value) pairs where key identifies a property and value is the corresponding value Analysis rules Optimization rules: MATCH -> pushdown Planning Strategies Graph Execution Code Gen JIT Cost model Storage backend ( Property Graph KV store ) Pushdown filter Cypher (a)-[:LIKES]->(b)0 码力 | 38 页 | 24.68 MB | 1 年前3Bringing Existing Code to CUDA Using constexpr and std::pmr
float* y) { for (int i = 0; i < n; i++) y[i] = x[i] + y[i]; } 35 |Execution Space Specifiers The __global__ execution space specifier declares a function as being a kernel. Such a function is: is: • Executed on the device, • Callable from the host. The __device__ execution space specifier declares a function that is: • Executed on the device, • Callable from the device only. https://docs __host__ execution space specifier declares a function that is: • Executed on the host, • Callable from the host only. It is equivalent to declare a function with only the __host__ execution space specifier0 码力 | 51 页 | 3.68 MB | 5 月前3C++20: An (Almost) Complete Overview
the caller, and suspends the coroutine, subsequently calling the coroutine again continues its execution co_return: returns from a coroutine (just return is not allowed)16 Coroutines What are coroutines Can be used with condition_variable_any std::stop_source Used to request a thread to stop execution Stop requests are visible to all associated stop_sources and stop_tokens std::stop_callback calculate the midpoint of two numbers lerp() to do linear interpolation New unsequenced_policy (execution::unseq): algorithm is allowed to be vectorized84 Agenda Modules Ranges Coroutines 0 码力 | 85 页 | 512.18 KB | 5 月前3Making Libraries Consumable for Non-C++ Developers
in-process interoperability.Run down of some approaches Just be like C? – post-1972 Common Object Model (COM) – 1993 Foreign function interface (libffi) – 1996 Simplified Wrapper and Interface Generator MYLIB_CCONV. • Reference: llvm - CallingConv.h • Don’t throw exceptions across the boundary.Memory model https://gchandbook.org/ Garbage collection is really “automatic memory management”. - Reference counted - .NET - JVM - JavaScript Manual memory management is rarely advocated for anymore.Memory model – Manual Memory is allocated and deallocated directly. Allocation locations are static. ptr =0 码力 | 29 页 | 1.21 MB | 5 月前3nativescript-new-looper-vantoll.pptx
app size Threading ⛓ • NativeScript = single threaded, by default ? • Samples for background execution are now available. • WebWorkers API coming soon Angular ? • Angular 2 final—Now 100% more a0 码力 | 36 页 | 10.78 MB | 1 年前3唐刚 - Use Rust to Develop the Decentralized Open Data Application - RustChinaConf2023
financial computation/storage model to general cases • Limites of On-chain VM computation • Limites of MPT • Limites of K-V db Problems of Web3: Technical Viewpoint Financial Model: Account=>Balance ➔ Relatively Relatively closed dataset, linear increasement against account set ➔ One dimension Internet Model: Any ➔ Open dataset, data will increase quickly on any dimension. ➔ Multiple dimensions Dataset Models platform, but open its data to everyone. ➔ Why we need open data? The business of the closed data model has been at the end. A New Proposal: Open Data Application The Road to Open Web ➔ From the user0 码力 | 30 页 | 2.53 MB | 1 年前3A Crash Course in Calendars, Dates, Time, and Time Zones
localtime(&tt) }; // Write the time to the console. cout << put_time(t, "%H:%M:%S");22 Clocks Time execution time: // Get start time. auto start { high_resolution_clock::now() }; // Execute code to benchmark0 码力 | 43 页 | 551.60 KB | 5 月前3Coaching Agile Teams
outcomes • Take it to the team • Be a mirror • Master your words & face • Let there be silence • Model being outrageous • Let the team fail • Be their biggest fan Lyssa Adkins Self-Assess FirstSelf0 码力 | 15 页 | 608.54 KB | 5 月前3RustBelt - Rust 的形式化语义模型
type “τ”; ∗¿full ⟦? ⟧ (∃?.ℓ↦ ?∗⟦ ? ⟧ .???(?)) ℓ ↦∗ ⟦τ ⟧.own ℓ ↦∗ ⟦τ ⟧.own Rc(simplified model, without weak references) Examples It owns a location value “ℓ”; : partially owned (.i.e. can alias) 0 码力 | 21 页 | 2.63 MB | 1 年前3
共 11 条
- 1
- 2
相关搜索词
WorkingwithAsynchronyGenericallyTourofC++Executors游人RustCCAtlasGraphBringingExistingCodetoCUDAUsingconstexprandstdpmr20AnAlmostCompleteOverviewMakingLibrariesConsumableforNonDevelopersnativescriptnewloopervantollpptx唐刚UseRustDeveloptheDecentralizedOpenDataApplicationRustChinaConf2023CrashCourseinCalendarsDatesTimeZonesCoachingAgileTeams王俊吉RustConf2023RustBelt