Modern C++ for Parallelism in High Performance Computingin High Performance Computing Victor Eijkhout CppCon 2024 Introduction This poster reports on ‘D2D’, a benchmark that explores elegance of expression and perfor- mance in the context of a High Performance profiling and discussion of performance. By presentation time: So far, exclusively top-of-the-line high core count processors were used. I will compare to a more ordinary desktop, where bandwidth limitations0 码力 | 3 页 | 91.16 KB | 6 月前3
High-Performance Numerical Integration in the Age of C++26Introduction Firsts steps Context Theoretical foundations Outline of an implementation Conclusion High-Performance Numerical Integration in the Age of C++26 Vincent Reverdy Laboratoire d’Annecy de Physique Verner’s methods Explicit adaptive Runge-Kutta schemes Slightly enhanced methods with interpolants High-accurary interpolation inside integration steps Interpolation with extra coefficients βi yn+u = talk of last year for the implementation of this kind of expression templates: Symbolic Calculus for High-Performance Computing from Scratch using C++23, V. Reverdy, CppCon2023 CppCon - Vincent Reverdy -0 码力 | 57 页 | 4.14 MB | 6 月前3
High-Performance Cross-Platform Architecture: C++20 Innovations0 码力 | 75 页 | 581.83 KB | 6 月前3
Symbolic Calculus for High-Performance Computing: From Scratch Using C++23Comparison Binding Constraints Architecture Substitution Construction Conclusion Symbolic Calculus for High-Performance Computing from Scratch using C++23 Vincent Reverdy Laboratoire d’Annecy de Physique . What this talk is not about Complicated maths (you are smart people, you can do it yourself) High-performance computing (you all know about it + see the 2019 talk for that) Benchmarks, assembly, mathematical concepts Symbolic calculus (derivatives, integrals) Full blown custom rule-based rewriting High-performance Since formulas have the entire information on the mathematical AST, it’s possible to0 码力 | 70 页 | 1.80 MB | 6 月前3
Six Impossible Thingskey) { int low = 0; int high = a.length - 1; while (low <= high) { int mid = (low + high) / 2; int midVal = a[mid]; if (midVal < key) low = mid + 1 else if (midVal > key) high = mid - 1; else return key) { int low = 0; int high = a.length - 1; while (low <= high) { int mid = (low + high) / 2; int midVal = a[mid]; if (midVal < key) low = mid + 1 else if (midVal > key) high = mid - 1; else return int low = 0; int high = a.length - 1; while (low <= high) { int mid = low + ((high - low) / 2); int midVal = a[mid]; if (midVal < key) low = mid + 1 else if (midVal > key) high = mid - 1; else0 码力 | 144 页 | 6.47 MB | 6 月前3
Things Happening in SG14echoes in other communities • In particular, embedded systems programming as well as finance and high- frequency trading 12What is SG14? • It was quickly noted that the concerns raised by the game echoes in other communities • In particular, embedded systems programming as well as finance and high- frequency trading • SG14 was founded under the title « SG14, Game Development & Low Latency » • Currently meant to help do so for C++26 • P2000 stems from the Direction group of WG21 • Sets high-level priorities for C++ • P0592 aims to prioritize the work done by the working groups • Suggests0 码力 | 148 页 | 1009.97 KB | 6 月前3
Cooperative C++ Evolutionstringent performance requirements on top of the issues with legacy codebases and workforce availability that everyone faces. … — John Carmack [emphasis added]Herb Sutter47 Concise elevator Well-known pain points with JavaScript48 A B effort value effort value ?49 Basic requirement: High fidelity interop. Min bar: NewThing can seamlessly use OldThing. Good: “An OldThing project can by side and start seeing benefit.” Ex: “Add NewLang file and see benefit.”50 Basic requirement: High fidelity interop. Min bar: NewThing can seamlessly use OldThing. Good: “An OldThing project can0 码力 | 85 页 | 5.73 MB | 6 月前3
Branchless Programming in C++return cond ? x : y; ● Never optimize such code preemptively ● Optimize only if the profiler shows high misprediction rate ● Optimizations depend on the compiler!Branchless Computing 52 BENCHMARK ● similar code may not be ● Never optimize such code preemptively ● Optimize only if the profiler shows high misprediction rateBranchless Computing 54 BENCHMARK ● 05a, b – optimization does work ● with perf goal) ● Processors can do many computations at once every cycle ● Limiting factor is usually availability of data ● Workaround is pipelining – running multiple instruction streams at once ● Limiting0 码力 | 61 页 | 9.08 MB | 6 月前3
Noexcept: Enabling Testing of Contract Checksin production builds Improves failure diagnostics in checked builds. Provides resilience in high-availability systems.Conclusion • Articulate the contracts for your functions, even those parts that cannot0 码力 | 90 页 | 1.38 MB | 6 月前3
Conan 1.8 Documentationto, different servers (“remotes”), similar to the “git” push-pull model to/from git remotes. On a high level, the servers are just package storage. They do not build nor create the packages. The packages on-premises server. It is a more powerful solution, featuring a WebUI, multiple auth protocols, High Availability, etc. It also has cloud offerings that will allow you to have private packages without having get(url, filenname="", md5="", sha1="", sha256="", keep_permissions=False,␣ ˓→pattern=None) Just a high level wrapper for download, unzip, and remove the temporary zip file once unzipped. You can pass hash0 码力 | 458 页 | 3.03 MB | 1 年前3
共 178 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18













