Our great sponsors
Trilinos | Torch | |
---|---|---|
2 | 2 | |
1,154 | 8,947 | |
1.5% | 0.6% | |
9.9 | 0.0 | |
1 day ago | over 1 year ago | |
C++ | C | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Trilinos
-
Software component names should be whimsical and cryptic
If you want to see this line of thinking taken a bit too far, check out the list of Trilinos packages on github: https://github.com/trilinos/Trilinos/tree/master/packages
It definitely makes things much less accessible to a newcomer / outsider.
(Trilinos is a set of scientific / engineering libraries for HPC)
-
C++ for scientific programming?
It can be the base of whatever *you* write via bindings generators like pybind11. In that sense, the answer to your question is "however you like". For actual simulation code, you'll see a lot more legacy Fortran and C. That said, with things like mdspan maybe being standardized (proposal), efforts towards a standard linear algebra library, and the existence of ubiquitous HPC frameworks already having been written in C++, I would say it's only a matter of time before C++ accounts for an even bigger share of all HPC code.
Torch
-
TinyGL 0.4.1
Yes, kind of, but it depends on NumPy which is fairly big if your goal is for students to grasp and demystify the whole way down to the hardware. Other candidates would be torch7 [1], but it is somewhat married to the Lua API which drives it.
[1]: https://github.com/torch/torch7
- Mars becomes the 2nd planet that has more computers running Linux than Windows
What are some alternatives?
FFTW - DO NOT CHECK OUT THESE FILES FROM GITHUB UNLESS YOU KNOW WHAT YOU ARE DOING. (See below.)
GSL - GNU Scientific Library with CMake build support and AMPL bindings
Blitz++ - Git mirror of Blitz++ at http://sourceforge.net/projects/blitz/
Kratos - Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
HELICS - Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS)
Dimwits - A compact C++ header-only library providing compile-time dimensional analysis and unit awareness
preCICE - A coupling library for partitioned multi-physics simulations, including, but not restricted to fluid-structure interaction and conjugate heat transfer simulations.