Structure and Interpretation of Computer Programs
0 码力 | 136 页 | 7.35 MB | 5 月前3Neighborhoods Banding Together: Reasoning Globally about Programs
CppCon, September 2020 Neighborhoods Banding Together Reasoning Globally about Programs Lisa LippincottThe code here is written in a fantasy C++, with extensions supporting local reasoning.void foo()0 码力 | 49 页 | 1.03 MB | 5 月前3Bridging the Gap: Writing Portable Programs for CPU and GPU
1/66Bridging the Gap: Writing Portable Programs for CPU and GPU using CUDA Thomas Mejstrik Sebastian Woblistin 2/66Content 1 Motivation Audience etc.. Cuda crash course Quiz time 2 Patterns Oldschool tell me about afterwards7/66 Motivation Patterns The dark path Cuda proposal Thank you Why write programs for CPU and GPU Difference CPU/GPU Algorithms are designed differently Latency/Throughput Memory sense? Scope of the talk7/66 Motivation Patterns The dark path Cuda proposal Thank you Why write programs for CPU and GPU Difference CPU/GPU Why it makes sense? Library/Framework developers Embarrassingly0 码力 | 124 页 | 4.10 MB | 5 月前3SuperCharge Your IPC Programs With C++20 and CCI Pattern
Rules • IPC stands for Intra-Process Communication • Programs stand for software running in a constrained environment ▪ CCI stands for: oContract oConcept oImplementationProblem Definition: Channel0 码力 | 57 页 | 7.11 MB | 5 月前3Design patterns for error handling in C++ programs using parallel algorithms and executors
Design patterns for error handling in C++ programs 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 years0 码力 | 32 页 | 883.27 KB | 5 月前3Just-in-Time Compilation - J F Bastien - CppCon 2020
are completely unnecessary. They are only a means to improve the time and space efficiency of programs. After all, the central problem JiT systems address is a solved one: translating programming languages are completely unnecessary. They are only a means to improve the time and space efficiency of programs. After all, the central problem JiT systems address is a solved one: translating programming languages are completely unnecessary. They are only a means to improve the time and space efficiency of programs. After all, the central problem JiT systems address is a solved one: translating programming languages0 码力 | 111 页 | 3.98 MB | 5 月前3Template Metaprogramming: Type Traits
Metaprogramming? • In general, when programs treat programs as data 5What is Metaprogramming? • In general, when programs treat programs as data • Could be other programs or itself 5What is Metaprogramming general, when programs treat programs as data • Could be other programs or itself • Could be at "compile time" or at "run time" 5What is Metaprogramming? • In general, when programs treat programs as data other programs or itself • Could be at "compile time" or at "run time" • We will discuss compile time metaprogramming in C++ 5What is Metaprogramming? • In general, when programs treat programs as data0 码力 | 403 页 | 5.30 MB | 5 月前3Back to Basics: The Abstract Machine
Abstract Machine? “Abstract machines are machines because they permit step-by-step execution of programs; they are abstract because they omit the many details of real (hardware) machines. Abstract machines write programs (in some human-readable language) to help us accomplish these complex tasks • Human-readable, for productivity • We want tools that robustly and reliably transform our programs into a Abstract Machines - Rationale • We want tools to help us manage complexity • When we write our programs, we (mostly) don’t want to be concerned with the details of the underlying physical hardware •0 码力 | 91 页 | 538.90 KB | 5 月前3Back to Basics: Concurrency
discussion and examples of other concurrency primitives and how to use them to write concurrent programs for common patterns(different types of locks, conditional variables, promises/futures). Attendees We are going to focus on std::thread for creating concurrent programs. ■ We will review briefly other methods of writing concurrent programs (e.g., std::async) ○ I’ll focus on the foundations, and my We are going to focus on std::thread for creating concurrent programs. ■ We will review briefly other methods of writing concurrent programs (e.g., std::async) ○ I’ll focus on the foundations, and my0 码力 | 141 页 | 6.02 MB | 5 月前3Can Data-Oriented-Design be Improved?
paradigm, data-oriented-design focuses on optimal transformations of data and focuses on modelling programs as transforms.” 4Minimalist definition of DoD 𝐷𝑎𝑡𝑎!"#$"# = 𝐹(𝐷𝑎𝑡𝑎%&$"#) Transformation It’s about chaining functions to make programs: 𝐻 𝐺 𝐹(𝐷𝑎𝑡𝑎!"#$%) 11What is functional programming about? • It’s about chaining functions to make programs: 𝐻 𝐺 𝐹(𝐷𝑎𝑡𝑎!"#$%) • If you we could have: 12What is functional programming about? • It’s about chaining functions to make programs: 𝐻 𝐺 𝐹(𝐷𝑎𝑡𝑎!"#$%) • If you squeeze them together the we could have: • And your program0 码力 | 39 页 | 1.18 MB | 5 月前3
共 134 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
相关搜索词
StructureandInterpretationofComputerProgramsNeighborhoodsBandingTogetherReasoningGloballyaboutBridgingtheGapWritingPortableforCPUGPUSuperChargeYourIPCWithC++20CCIPatternDesignpatternserrorhandlinginprogramsusingparallelalgorithmsexecutorsJustTimeCompilationBastienCppCon2020TemplateMetaprogrammingTypeTraitsBacktoBasicsTheAbstractMachineConcurrencyCanDataOrientedbeImproved