Bridging the Gap: Writing Portable Programs for CPU and GPU1/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 Thank you Thank you 1 Motivation 2 Patterns 3 The dark path 4 Cuda proposalBridging the Gap: Writing Portable Programs for CPU and GPU Paper: Thomas Mejstrik, Sebastian Woblistin, host device – Generic0 码力 | 124 页 | 4.10 MB | 6 月前3
Writing Python Bindings for C++ Libraries: Easy-to-use Performanceprogramming in a past life ● Love performance, software abstractions, and clean APIsWhy Python? ● Writing extensive APIs in Python - low boilerplate ● Familiar for domain experts ● Easy to use ○ Amazing (unlikely(__pyx_t_13 == -1)) __PYX_ERR(0, 17, __pyx_L1_error)Cheaper function call conventions - Type informed ● Writing python, interpreter interprets some bytecode each time it hits the given statement ○ It needs to system ○ Learning a new “language” / different debugging experience ○ But a pretty good idea for writing new code! ● Always good to know what is out there, even if not C++ The “how” of pandasVarious libraries0 码力 | 118 页 | 2.18 MB | 6 月前3
Express Your Expectations: A Fast, Compliant JSON Pull Parser for Writing Robust Applicationstalks[0].subtitle) console.log(object.foo) Jonathan Müller A fast, compliant JSON pull parser for writing robust applications undefined Jonathan Müller — @foonathan Express your expectations CppCon 2023-10-03 std::print("{}\n", object.at("foo")); Jonathan Müller A fast, compliant JSON pull parser for writing robust applications Uncaught exception. Jonathan Müller — @foonathan Express your expectations0 码力 | 143 页 | 736.91 KB | 6 月前3
COMPOSABLE C++the identity operation the request that does nothingTHE ZERO OBJECT THE ZERO OBJECT If writing this is If writing this is di�cult di�cult, it's a good sign our , it's a good sign our composability abstraction not right composability abstraction is not right..THE ZERO OBJECT THE ZERO OBJECT If writing this is If writing this is di�cult di�cult, it's a good sign our , it's a good sign our composability abstraction not right.. Possible Possible problems problems::THE ZERO OBJECT THE ZERO OBJECT If writing this is If writing this is di�cult di�cult, it's a good sign our , it's a good sign our composability abstraction0 码力 | 124 页 | 8.28 MB | 6 月前3
Back to Basics: Concurrencyfocus 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 hope is this will 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 hope is this will and Deadlock 73Problem with Threads -- Reading & Writing ● Data Race (or race condition) ○ Because data is shared--one or more thread could be writing to the same piece of memory at the same time ■0 码力 | 141 页 | 6.02 MB | 6 月前3
Embracing CTADtutorial on writing your own deduction guides • CTAD take down or CTAD glorification • PopcornWhat isn’t in this talk • In depth explanation of CTAD rules • Extensive tutorial on writing your own tutorial on writing your own deduction guides • CTAD take down or CTAD glorification • PopcornWhat isn’t in this talk • In depth explanation of CTAD rules • Extensive tutorial on writing your own PopcornWhat isn’t in this talk • In depth explanation of CTAD rules • Extensive tutorial on writing your own deduction guides • CTAD take down or CTAD sales pitch • PopcornWhat is CTAD ?Deducing0 码力 | 98 页 | 4.62 MB | 6 月前3
Modern C++ Tutorial: C++11/14/17/20 On the Flyreading the book. Code Each chapter of this book has a lot of code. If you encounter problems when writing your own code with the introductory features of the book, you might as well read the source code beginning, later References for further reading The difference between C++98 and C99 is given). When writing C++, you should also avoid using program styles such as void* whenever possible. When you have to object-oriented functions, template programming, etc., before the runtime, it may happen when writing code or compiler compiling code. To this end, we usually talk about language usability, which refers0 码力 | 92 页 | 1.79 MB | 1 年前3
Using Modern C++ to Build XOffsetDatastructureto enable direct reading, writing and transmission. • Moreover, we‘re aiming for high performance across all operations: • serialization, deserialization, reading and writing, both in-place and non-in-place like the game industry. • What & Why We Want to Do • High-Performance • Free and direct reading/writing/transmission of data Fanchen Su, XOffsetDatastructure, CppCon 2024 41 XOffsetDatastructure3. What the diagram, our solution enables free and efficient flow of data through all stages: reading, writing, sending and receiving data. • The ability to freely and efficiently read, write, send, and receive0 码力 | 111 页 | 3.03 MB | 6 月前3
Leveraging a Functional Approach for More Testable and Maintainable ROS 2 Codedocumentation! ● ROS 2 documentation encourages an object-oriented paradigm that can lead to trouble writing code that achieves the goalWhy give this talk? ● Engineers at PickNik experiment with different documentation! ● ROS 2 documentation encourages an object-oriented paradigm that can lead to trouble writing code that achieves the goal ● Adopting functional programming techniques into our code has made program, global variables, or produce any observable interactions with the outside world, such as writing to files or displaying outputPure Functions ● A pure function is a function that ○ is deterministic:0 码力 | 200 页 | 1.77 MB | 6 月前3
Back to Basics Unit Testing-test-driven-development- 3d2f8dca71e5 Test Doubles (Mocks, Fakes, Stubs) are a technique for writing unit tests mainly to improve hermeticity of the test 29Test Doubles are accuracy / precision tradeoffs about what it does to your code, it's about what it does to your mind" -- Fedor Pikus "You're not writing the test first -- you're specifying what you want first" -- Kevlin Henney “If debugging is the and about a zillion others 85Part 3: Good Process Workflow Running unit tests is part of the writing code cycle; they need to run fast Design Good designs are testable, testable designs are good.0 码力 | 109 页 | 4.13 MB | 6 月前3
共 161 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17
相关搜索词
BridgingtheGapWritingPortableProgramsforCPUandGPUPythonBindingsC++LibrariesEasytousePerformanceExpressYourExpectationsFastCompliantJSONPullParserRobustApplicationsCOMPOSABLEBackBasicsConcurrencyEmbracingCTADModernTutorial11141720OnFlyUsingBuildXOffsetDatastructureLeveragingFunctionalApproachMoreTestableMaintainableROSCodeUnitTesting













