THE FIRST EXPLORATION OF PROJECT SPARROWSource: https://sel4.systems/About/seL4-whitepaper.pdf I. Background Capability Distribution Language tools for seL4 https://github.com/seL4/capdl CapDL I. Background https://sel4 Rust A reimplementation of project Ray(the distributed training framework that behinds many LLMs) by leveraging Python + Rust to instead of Python + C++ within current implementation; peripheral support III. Sparrow Development It has been possible to design Renode peripheral models in a variety of languages such as C#, Python and C. Adding Rust peripherals in0 码力 | 68 页 | 13.14 MB | 1 年前3
C++20: An (Almost) Complete OverviewAsynchronous I/O Lazy computations Event driven applications17 Coroutines C++20 contains language additions to support coroutines Standard Library does not yet include helper classes such as other synchronization concept: mutex, latches, barriers, … Two types: counting semaphore: models a non-negative resource count binary semaphore: only has 1 slot, i.e. only has two states: free 13:3068 Feature Testing Macros Allow you to detect if a compiler supports certain language and library features Language feature test macros __has_cpp_attribute(fallthrough) __cpp_binary_literals0 码力 | 85 页 | 512.18 KB | 6 月前3
Making Libraries Consumable for Non-C++ Developersto free that? Enabling two or more disparate entities to work together.Why interoperability? No language or platform is good for everything. Fast inner loop Makes UX easy Has tooling for workload that later.What assumptions are being made? void get_size(size_t dev, long* size); Non-C/C++ language. Caller of get_size(). C/C++ binary. Provides get_size(). gcc and clang, sizeof(long) == sizeof(size_t) Consider accepting memory alloc/dealloc callbacks – recall previous recommendation. • Limit implicit models that force memory to have thread affinity at interop boundaries. • Consider how the consumer’s tools0 码力 | 29 页 | 1.21 MB | 6 月前3
C++20's database is huge (1.25MB) – we would have some very unhappy customers if their MSVC STL grew by such a large amount. PLUS, how would we handle updates to the data? • Try to figure out some networking scenario database is huge (1.25MB) – we would have some very unhappy customers if their MSVC STL grew by such a large amount. PLUS, how would we handle updates to the data? • Try to figure out some networking scenario Calendars and Time Zones in MSVC – Miya Natsuhara • An Editor Can Do That? Debugging Assembly Language and GPU Kernels in Visual Studio Code – Julia Reid • Why does std::format do that? – Charlie Barto0 码力 | 55 页 | 8.67 MB | 6 月前3
Finding Bugs using Path-Sensitive Static Analysiscomes at a cost • We are actively looking into ways to make analysis more precise • There are a large set of checks in MSVC • Making intent explicit can help analysis, improve readabilityEnjoy the rest Calendars and Time Zones in MSVC – Miya Natsuhara • An Editor Can Do That? Debugging Assembly Language and GPU Kernels in Visual Studio Code – Julia Reid • Why does std::format do that? – Charlie Barto0 码力 | 35 页 | 14.13 MB | 6 月前3
唐刚 - Use Rust to Develop the Decentralized Open Data Application - RustChinaConf2023Any ➔ Open dataset, data will increase quickly on any dimension. ➔ Multiple dimensions Dataset Models ➔ What is open data? Build an internet platform, but open its data to everyone. ➔ Why we need0 码力 | 30 页 | 2.53 MB | 1 年前3
Working with Asynchrony Generically: A Tour of C++ Executorsunstructured control flow construct conditional loop function call goto59 FIRE-AND-FORGET TASK MODELS ARE UNSTRUCTURED Fire-and-forget work is like goto. execute void compute_helper_async(); void0 码力 | 121 页 | 7.73 MB | 6 月前3
C++23: An Overview of Almost All New and Updated FeaturesQuick Reference Founder of the Belgian C++ Users Group (BeCPP) C++204 Agenda C++23 Core Language Explicit Object Parameters if consteval Multidimensional Subscript Operator Attributes Attributes on Lambda-Expressions Literal Suffix for size_t auto(x): decay-copy in The Language #elifdef, #elifndef, and #warning Marking Unreachable Code Assumptions Named Universal Character Heterogeneous Erasure Removed Features Garbage Collection SupportC++23 Core Language6 Agenda C++23 Core Language Explicit Object Parameters if consteval Multidimensional Subscript Operator0 码力 | 105 页 | 759.96 KB | 6 月前3
C++高性能并行编程与优化 - 课件 - 07 深入浅出访存优化then transposing the 4 x 4 matrices will lead to the full matrix transpose. When dealing with large matrices (1024 x 1024 and larger), speedups by using a Morton ordering compared to a naïve implementation Xeon Phi is designed for), using the Morton ordering, performance is up to 2.44 times faster for a large matrix transpose. Even on an Intel Xeon CPU, by using up to 32 threads, comparing the naïve implementation matrix transpose. • Another example of using data grouping is when running an application that uses a large matrix multiply function. Using a combination of new ordering and the Intel MIC compiler directives0 码力 | 147 页 | 18.88 MB | 1 年前3
RustBelt - Rust 的形式化语义模型Background ERC Project "RustBelt" 2015-2021 Unlike C/C++, Rust is a safe language But, like C/C++, Rust is also an unsafe language There are guaranteed memory safety, thread safety, ... There are plenty of the Rust Programming Language. In POPL 2018: ACM SIGPLAN Symposium on Principles of Programming Languages Ralf Jung. Understanding and Evolving the Rust Programming Language. PhD dissertation, Saarland Concurrent Separation Logic Framework RustBelt: Securing the Foundations of the Rust Programming Language Coq Proof Assistant: A Formal Proof Management System built on top of built on top of Rust0 码力 | 21 页 | 2.63 MB | 1 年前3
共 22 条
- 1
- 2
- 3
相关搜索词
李枫2023RustChinaConf__SparrowFengLi20230614aofficialtemplateC++20AnAlmostCompleteOverviewMakingLibrariesConsumableforNonDevelopersChronoFindingBugsusingPathSensitiveStaticAnalysis唐刚UseRusttoDeveloptheDecentralizedOpenDataApplicationRustChinaConf2023WorkingwithAsynchronyGenericallyTourofExecutors23AllNewandUpdatedFeatures高性性能高性能并行编程优化课件07王俊吉RustConf2023RustBelt













