Adventures in SIMD Thinking (Part 2 of 2)
Adventures in SIMD Thinking (Part 2 of 2) Bob Steagall CppCon 2020 K E W B C O M P U T I N GCopyright © 2020 Bob Steagall K E W B C O M P U T I N G Agenda • Learn a little about Intel's SIMD facilities Faster (?) UTF-8 to UTF-32 conversion (with AVX2) • No heavy code, but lots of pictures • Thinking "vertically" CppCon 2020 - Adventures in SIMD Thinking 2Copyright © 2020 Bob Steagall Small-Kernel Convolution S = s0 s1 s2 s3 s4 s5 s6 ... K = k0 k1 k2 r0 = ... r1 = s0k0 + s1k1 + s2k2 r2 = s1k0 + s2k1 + s3k2 r3 = s2k0 + s3k1 + s4k2 r4 =0 码力 | 135 页 | 551.08 KB | 5 月前3Back to Basics: Designing Classes (part 2 of 2)
Back to Basics Designing Classes (part 1 of 2) Klaus Iglberger, CppCon 2021 klaus.iglberger@gmx.de2 Klaus Iglberger C++ Trainer/Consultant Author of the C++ math library (Co-)Organizer (Co-)Organizer of the Munich C++ user group Chair of the CppCon B2B and SD tracks Email: klaus.iglberger@gmx.deContent 3 Back to Basics: Class Design (Part 1) The Challenge of Class Design Design Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation Guidelines Data Member Initialization Implicit Conversions Order of Data Members0 码力 | 76 页 | 2.60 MB | 5 月前3Catch2
if (NOT TARGET Catch2) project(Catch2 CXX) set(CMAKE_CXX_STANDARD 11) add_library(${PROJECT_NAME} INTERFACE) target_include_directories(${PROJECT_NAME} INTERFACE ${CMAKE_CU ${CMAKE_CURRENT_SOURCE_DIR}/include) # Mimic the library names in Catch2's own CMake files: add_library(Catch2::Catch2 ALIAS Catch2) # This one is historical, left over from when ApprovalTests.cpp was first created. # We could encourage users to move away from it. add_library(catch2 ALIAS Catch2) endif ()0 码力 | 1 页 | 519.00 B | 5 月前3Back to Basics: Templates Part 2
Back to Basics: Templates – Part 2 Bob Steagall CppCon 2021CppCon 2021 – Back to Basics: Templates – Part 2 Copyright © 2021 Bob Steagall Recap: Templates • C++ supports generic programming with templates function templates • Alias template • Variable templates • Lambda templates 2CppCon 2021 – Back to Basics: Templates – Part 2 Copyright © 2021 Bob Steagall Recap: Translation Units • In C++, translation preprocessing directives (#ifdef) • And all macros expanded 3CppCon 2021 – Back to Basics: Templates – Part 2 Copyright © 2021 Bob Steagall Recap: Declarations and Definitions • A name is an identifier that denotes0 码力 | 80 页 | 490.15 KB | 5 月前3Spanny 2: Rise of std::mdspan
github.com/griswaldbrooks/spanny2github.com/griswaldbrooks/spanny2 DISCLAIMER: C++23… ish 2 https://github.com/kokkos/mdspangithub.com/griswaldbrooks/spanny2 goals ● deeper understanding of std::mdspan custom layouts and accessors ● dispel common misconceptions about both 3github.com/griswaldbrooks/spanny2 how ● layouts and their requirements ● occupancy grids and default layouts ● submaps, strides, submdspan 4 ● motivations for std::mdspan ● review std::mdspan declarationgithub.com/griswaldbrooks/spanny2 how ● layouts and their requirements ● occupancy grids and default layouts ● submaps, strides, submdspan0 码力 | 117 页 | 2.02 MB | 5 月前3Adventures in SIMD Thinking (Part 1 of 2)
Adventures in SIMD Thinking (Part 1 of 2) Bob Steagall CppCon 2020 K E W B C O M P U T I N GCopyright © 2020 Bob Steagall K E W B C O M P U T I N G Agenda • Learn a little about Intel's SIMD facilities Faster (?) UTF-8 to UTF-32 conversion (with AVX2) • No heavy code, but lots of pictures • Thinking "vertically" CppCon 2020 - Adventures in SIMD Thinking 2Copyright © 2020 Bob Steagall K E W B C O M P load_from(float const* psrc) { return _mm512_loadu_ps(psrc); } m0 m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15 m0 m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15 psrcCopyright © 2020 Bob Steagall0 码力 | 88 页 | 824.07 KB | 5 月前3Secure access to EC2 (for developers)
access to EC2 (for developers) Agenda – introduction – EC2 in native environment – 3-tier architecture intro – alternative methods of resource connection: – Bastion host – SSM – EC2 Instance Connect DDoS attacks A regular virtual machineIt's a VM. Classic EC2 instance in de‐ fault setting. Resources: EC2SecurityGroup: Type: AWS:: EC2:: SecurityGroup Properties: GroupName: Launch-wizard-13 Launch-wizard-13 GroupDescription: Allow traffic to EC2 SecurityGroupIngress: - CidrIp: 0.0.0.0/0 IpProtocol: -1 SecurityGroupEgress: - CidrIp: 0.0.0.0/00 码力 | 10 页 | 3.11 MB | 5 月前3Back to Basics: C++ Templates - Part 2
Andreas Fertig https://AndreasFertig.Info post@AndreasFertig.Info @Andreas__Fertig B2B: C++ Templates Part 2 Variadic templates: Parameter pack ■ Syntax: A typename|class... Ts generates a type template arguments passed. D ts... in the body of a function to unpack the arguments. 1 template2 typename... Ts A Variadic template 3 > 4 constexpr auto 5 min(const T& a, 6 const T& b, 7 const Ts& return m; 17 } 18 19 static_assert(min(3, 2, 3, 4, 5) == 2); 20 static_assert(min(3, 2) == 2); Andreas Fertig v1.0 B2B: C++ Templates 2 B2B: C++ Templates Part 2 © 2020 Andreas Fertig https://AndreasFertig 0 码力 | 12 页 | 787.22 KB | 5 月前3CppCon2021 Concurrency TS2
© 2021. 2 2 © 2021. 3 Agenda 1.Don’t we already have a Concurrency TS? • Why do we need a new one? • implementation status 2.TS2 Hazard Pointer • how I learn to love C++ tricks 3.TS2 RCU • From 2021. 7 Talking about HP and RCU since 2014 1.Erwin Schrödinger’s Zoo and Werner Heisenberg’s advice 2.Increase uncertainty to get performance and scalability 3.So Procrastinate away! Use Structured Deferral as part of your decision process ● direction@lists.isocpp.org. © 2021. 13 What is in Concurrency TS2? • Several synchronization primitives for locked-free programming on concurrent data structures. These0 码力 | 58 页 | 1.62 MB | 5 月前0.03Back to Basics: Designing Classes (part 1 of 2)
Back to Basics Designing Classes (part 1 of 2) Klaus Iglberger, CppCon 2021 klaus.iglberger@gmx.de2 Klaus Iglberger C++ Trainer/Consultant Author of the C++ math library (Co-)Organizer (Co-)Organizer of the Munich C++ user group Chair of the CppCon B2B and SD tracks Email: klaus.iglberger@gmx.deContent 3 Back to Basics: Class Design (Part 1) The Challenge of Class Design Design Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation Guidelines Data Member Initialization Implicit Conversions Order of Data Members0 码力 | 87 页 | 5.64 MB | 5 月前3
共 685 条
- 1
- 2
- 3
- 4
- 5
- 6
- 69