Heterogeneous Modern C++ with SYCL 20201Michael Wong Distinguished Engineer ● Chair of SYCL Heterogeneous Programming Language ● ISO C++ Directions Group past Chair ● Past CEO OpenMP ● ISOCPP.org Director, VP http://isocpp.org/wiki/ 2.1 Simplify porting of standard C++ applications to SYCL Closer alignment and integration with ISO C++ Multiple Backend acceleration and API independent SYCL 2020 increases expressiveness and simplicity Lite-Runtime https://software.intel.com/content/www/us/en/develop/articles/interoperability-dpcpp-sycl-opencl.html https://www.renesas.com/br/en/about/press-room/renesas-electronics-and-codeplay-coll0 码力 | 114 页 | 7.94 MB | 6 月前3
Exceptional C++we use async exceptions on all modules docs.microsoft.com/en-us/cpp/cpp/structured-exception-handling-c-cpp?view=msvc-160 docs.microsoft.com/en-us/windows/win32/debug/structured-exception-handling2021 processor specific BYTE ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION]; }; docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-context Contains processor-specific register data. The system SegSs; BYTE ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION]; ... }; docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-context Contains processor-specific register data. The system0 码力 | 113 页 | 24.39 MB | 6 月前3
Improving Our Safety With a Quantities and Units Libraryof mistakes caused by confusing units or quantities • Code handling the physical computation is o�en written by domain experts such as physicists that are not necessarily fluent in C++ CppCon 2024: Improving our safety with a quantities and units library The proliferation of conversion macros 13• O�en more than once in the repository #define RAD_TO_DEG (180 / PI) #define RAD_TO_DEG 57.2957795131 #define Approach to Physical Units CppCon 2024: Improving our safety with a quantities and units library ISO C++ papers 21• P1935: A C++ Approach to Physical Units • P2980: A motivation, scope, and plan for0 码力 | 207 页 | 6.93 MB | 6 月前3
Whats in a Name? Whats a Name in? - Walter E. Brown - CppCon 2020Conceived and served as Project Editor for Int’l Standard on Mathema:cal Special Func:ons in C++ (ISO/IEC 29124), now incorporated into C++17’s. • Be forewarned: Based on my training and experience � Any type aliases (typedef/using) or namespace names. • Never defined, only declared: � Names of en``es (e.g., std::declval) intended for use in only unevaluated contexts. • Predefined: � Certain digits.” (The grammar clarifies that leYers includes underscore plus most characters from ISO/IEC 10646). � “An en:ty is a value, object, reference, structured binding, func`on, enumerator, type, class 0 码力 | 7 页 | 4.37 MB | 6 月前3
Irksome C++participant in C++ standardization 3 Copyright © 2022-2024 by Walter E. Brown. All rights reserved. • Wri0en ̴175 papers for WG21, proposing such now-standard C++ library features as gcd/lcm, cbegin/cend Conceived and served as Project Editor for the Int’l Standard on Mathema:cal Special Func:ons in C++ (ISO/IEC 29124), incorporated intosince C++17. • Be forewarned: Based on my training and experience detec%on idiom code [2014]. • In due course, that idiom was proposed, adopted, and published in the ISO Library Fundamentals TS [Technical Specifica,on]: � E.g., GCC and clang each provide std::experimental::nonesuch 0 码力 | 15 页 | 3.03 MB | 6 月前3
C++26 Previewjust months away! 2025-06 –> c++26 dra� ships June to Feb 2026– national body/iso review and bug fixing late 2026 –> final iso approval 2.1Priorities for c++26 bug fixes - always a high priority concurrency Wright http://crystalclearso�ware.com/2024cppcon/cpp26preview.pdf https://en.cppreference.com/w/cpp/compiler_support https://en.cppreference.com/w/cpp/utility/program/atexit 900 码力 | 118 页 | 2.02 MB | 6 月前3
Cetting Started with C++35 40 “Which development environments (IDEs) or editors do you use for C++ development?” 2023 ISO C++ Developer Survey “Lite” *data shown is for “primary” IDEs/editors 37% 25% 11% 8% Visual Studio install Microsoft.VisualStudio.2022.Community --silent --override "--wait --quiet --add ProductLang en-us --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended" https://aka.ms/getvisualstudioPopular cppreference list of libraries: https://en.cppreference.com/w/cpp/links/libs conan searchhttps://conan.io/center vcpkg search https://vcpkg.io/en/packagesCode reuse with libraries 0 码力 | 95 页 | 4.71 MB | 6 月前3
Exceptions Under the Spotlight2MOTIVATION Q14 Is throwing exceptions to report errors allowed throughout your current project? ISO Survey 2020 45.1% 37.1% 17.8% Q2 What is your company’s main domain? (answers may overlap) C++ Koenig Bjarne Stroustrup 1989 PART I: HISTORY 17PART I: HISTORY Original design Standard / formal ISO Existing practice Exceptions are used primarily for error handling. Control flow management is authors: http://refspecs.linux-foundation.org/abi-eh-1.21.html • MSVC’s SEH: https://docs.microsoft.com/en-us/cpp/cpp/structured-exception-handling-c-cpp?view=vs-2019 CppCon2018: James McNellis“Unwinding the0 码力 | 53 页 | 2.82 MB | 6 月前3
Modern C++ Tutorial: C++11/14/17/20 On the FlyCompatibilities with C CHAPTER 01: TOWARDS MODERN C++ Figure 1: Figure 1.2: Compatabilities between ISO C and ISO C++ 1.2 Compatibilities with C For some force majeure and historical reasons, we had to use Edition) Bjarne Stroustrup History of C++ • C++ compiler support • Incompatibilities Between ISO C and ISO C++ Chapter 02: Language Usability Enhancements When we declare, define a variable or constant not occur after the release operation, which is a backward barrier, and std::memory_order_acquire en- sures that a subsequent read or write after a acquire does not occur before the acquire operation0 码力 | 92 页 | 1.79 MB | 1 年前3
Shared LibrariesTable (IAT) List of import addresses as resolved by the loader … … … https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#the-idata-section 10 * Actually in section .rdata… .idata lib1: platform to make a conforming C++ implementation on top of that stuff. “ Arthur O’Dwyer, on the iso mailing list https://lists.isocpp.org/std-proposals/2023/07/7239.php 49Takeaways 50Shared Libs offset Hint/Name Table • Hint idx to export table • Function name https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#the-idata-section 56dll1.dll void f() { ... } exe dll1: __imp_f0 码力 | 69 页 | 1.40 MB | 6 月前3
共 180 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18













