-
The Go frontend for GCC Ian Lance Taylor Google iant@google.com Abstract A description of the Go language frontend for gcc. This is a new frontend which is a complete implementation of the new Go programming programming language. The frontend is currently some 50,000 lines of C++ code, and uses its own IR which is then converted to GENERIC. I describe the structure of the frontend and the IR, issues that arise arise when compiling the Go language, and issues with hook- ing up any frontend to the gcc middle-end. 1 Introduction Go is a new programming language designed by Robert Griesemer, Rob Pike, and Ken Thompson
0 码力 |
14 页 |
122.25 KB
| 1 年前 3
-
1Can data-oriented-design
be improved?
Ollivier Roberge
Collège Jean-de-Brébeuf
2A brief historic
• 1960s
• FORTRAN
• Lisp
• 1980s
• OOP
• Structured programming
• Modules
• 2000s
• Template
0 码力 |
39 页 |
1.18 MB
| 6 月前 3
-
PERFORMANCE
MATTERS
(joint work with Charlie Curtsinger, Grinnell College)
emeryberger.com, @emeryberger
Emery Berger
College of Information
and Computer Sciences
UMASS AMHERSTA short time ago
:
un.bmp
Ogle is too slow!
OGLE’84 is too slow!Transistors (millions)
Clock Speed (MHz)
Performance used to be easy
0.001
0.01
0.1
1
10
100
1,000
10,000
1970
1975
1980
1985
1990
1995 gle
loading…
No mojitos for me…
Back to the present…Transistors (millions)
Clock Speed (MHz)
Performance not easy anymore
0.001
0.01
0.1
1
10
100
1,000
10,000
1970
1975
1980
1985
1990
1995
0 码力 |
197 页 |
11.90 MB
| 6 月前 3
-
Being Friendly to Your
Hardware
Performance Engineering
A gentle introduction to hardware for software engineers
2Where does C++ run?
3On an abstract C++ machine
4On an abstract C++ machine?
In most practical cases at boot time only
Same capacity, different
composition => different
performance profile
From JESD 79-4 DDR4 specificationMemory
• Memory system is in the uncore
• Cores act Multiple instructions resulting in fewer
operations
• ISA restrictions may have impact to
performance
Imaginary ARM
mov r20, 0x123456789abcdef0Register renaming
52
Branching
Fetch
Decode
Queue
0 码力 |
111 页 |
2.23 MB
| 6 月前 3
-
0 码力 |
35 页 |
730.17 KB
| 1 年前 3
-
Poster submission: Modern C++ for Parallelism in High
Performance Computing
Victor Eijkhout
CppCon 2024
Introduction
This poster reports on ‘D2D’, a benchmark that explores elegance of expression and context of a High Performance Computing ‘mini-application’. The same code has
been implemented using a number of different approaches to parallelism. Implementations are
discussed with performance results.
Relevance multi-dimensional arrays through ‘mdspan’, it is interesting to explore
what C++ can offer for lower level performance critical operations.
Scientific computing is an interesting test cases since many algorithms are
0 码力 |
3 页 |
91.16 KB
| 6 月前 3
-
Introduction
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 des Outline of an implementation
Conclusion
Going beyond
End of story?
No!
Plenty of things can be improved
This is the simplest possible integrator: can we do better and achieve more accuracy and precision Firsts steps
Context
Theoretical foundations
Outline of an implementation
Conclusion
Toward an improved version
Integration function (1/4)
//
Integrate
the
Friedmann −Lemaitre(−Robertson −Walker) equations
0 码力 |
57 页 |
4.14 MB
| 6 月前 3
-
Nim - the first high performance Nim - the first high performance language with full support for hot code- language with full support for hot code- reloading at runtime reloading at runtime by Viktor