-
BLAS + LAPACK (OpenBLAS + FLAME + ATLAS + MAGMA + KBLAS) and friends
-
Benchmarking Single- and Multi-Core BLAS Implementations and GPUs for use with R
-
GEMM: From Pure C to SSE Optimized Micro Kernels ulmBLAS: parent of the above link
-
GPU Accelerated Memory-bound Linear Algebra Kernels" KBLAS + KSPARSE
- PhD thesis 4 KBLAS+KSPARSE
- KBLAS: An Optimized Library for Dense Matrix-Vector Multiplication on GPU Accelerators
- KBLAS: download
- KSPARSE: download
- bhSPARSE: A Sparse BLAS Library
- fmmtl: FMM Template Library -- a structured dense matrix algorithms library, GPU accelerated, Simon Layton is a coauthor
- LAMA -- Library for Accelerated Math Applications -- GPU accelerated
-
blaze-lib -- A high performance C++ math library -- claims to be the fastest, supports AVX
-
The Numerical Template Toolbox - C++ Scientific Computing Made Easy
-
High-Performance Matrix-Matrix Multiplications of Very Small Matrices
-
AUGEM: Automatically generate high performance Dense Linear Algebra kernels on x86 CPUs
-
psBLAS -- Parallel Sparse Basic Linear Algebra Subroutines -- Fortran2003
-
- ginkgo: getting started
tl;dr
git clone https://github.com/ginkgo-project/ginkgo.git cd ginkgo mkdir build cd build ccmake .. make -j4
- ginkgo: getting started
-
GraphBLAS Repositories dedicated to Graphs in the Language of Linear Algebra
-
The Tensor Algebra Compiler (taco) computes sparse tensor expressions on CPUs and GPUs
-
amgcl : C++ library for solving large sparse linear systems with algebraic multigrid method
-
The Amazing Performance of C++17 Parallel Algorithms, is it Possible?
-
SIMD
-
Dimension Reduction
-
BEM - Boundary Element Library
- Curated list of Hierarchical Matrices (H-Matrices) libraries
- BEM++ is an open-source Galerkin boundary element library that handles Laplace, Helmholtz and Maxwell problems on bounded and unbounded domains
- Boundary Element Template Library
- HyENA - HyENA stands for [Hy]perbolic and [E]lliptic [N]umerical [A]nalysis and is a C++ library
- Obtaining the source code for NiHu tl;dr
git clone -b release_2.0 git://last.hit.bme.hu/toolbox/nihu.git
-
Formulating various BEM problems with an open source C++ BEM template library
-
Hierarchical matrices
-
The C++ Standards Library for Concurrency and Parallelism http://stellar-group.org/libraries/hpx
-
Automatic Differentiation: mostly Julia, C++, Haskell. Scala as well
-
CasADi framework for nonlinear optimization
-
Haskell Automatic Differentiation
-
Why Automatic Differentiation Won’t Cure Your Calculus Blues
-
Automatic Differentiation in Computational Science : presentation
-
Reviews of AD including computational cost of FAD/BAD
- A Hitchhiker's Guide to Automatic Differentiation - up-to-date - all you have to know about AD, Haskell focused
- Automatic differentiation in machine learning: a survey contains estimation for number of operations
- AD and Sparse Matrices (Computational Complexity of Forward Mode AD)
- Towards a Computer Algebra System with Automatic Differentiation for use with Object-Oriented modelling languages (the paper describes DAG representation for representing optimization problem)
- Non-smooth Optimization and Automatic Differentiation (skript of the lecture)
- PhD Thesis A Small-Perturbation Automatic-Differentiation (SPAD) Method for Evaluating Uncertainty in Computational Electromagnetics
- Reverse-Mode AD in a Functional Framework: Lambda the Ultimate Backpropagator
- A simple explanation of reverse-mode automatic differentiation
-
Applications of AD to Real World
-
CS267 Project Report Towards Parallel Automatic Differentiation
-
Autograd
-
Backup
-
-
Unum
-
What are the biggest challenges in scientific computing?
-
John Gustafson presents: Beyond Floating Point – Next Generation Computer Arithmetic + (former Unum)Create RUST posit arithmetic library based on 21 February 2017 Posit Arithmetic by John L. Gustafson - Beating Floating Point at its Own Game
- UNUM ... a better alternative to IEEE Floating Point?
- The Evils of Floating Point, and the Joys of Unum
- John Gustafson (scientist)
- Unum Computing: An Energy Efficient and Massively Parallel Approach to Numerics
- Unums.jl
- Julia Implementation of Unums - (seems more mature)
- unum - Rust library for unums, a placeholder @Jan 4, 2016
julia> f(x,y) = 333.75*y^6 + x^2*(11*x^2*y^2-y^6-121*y^4-2)+5.5*y^8+x/(2*y) f (generic function with 1 method) julia> f(77617,33096) 1.64176022256015e21 julia> f(Rational(77617,1),Rational(33096,1)) ERROR: OverflowError() in * at rational.jl:188 in power_by_squaring at intfuncs.jl:96 in f at none:1 julia> f(Rational(BigInt(77617),1),Rational(BigInt(33096),1)) -8.273960599468213681411650954798162919990331157843848199178148416727096930142628e-01 julia> f(77617.0,33096.0) -1.1805916207174113e21 julia> f(BigFloat(77617),BigFloat(33096)) -8.273960599468213681411650954798162919990331157843848199178148416727096930142628e-01
-
[PosIt(new Unum) in C, C++]
-
-
Automatic Fortran to C++ conversion
-
Promising Languages for Scientific Computing (besides Julia)
- Polyglot Programming : review several candidate languages, namely C, C++, Fortran, Cython, Numba, Nim, Rust, D, Chapel and Julia
- SciLua: Scientific Computing with LuaJIT
- Chapel Quickstart Instructions
tl;dr
source util/quickstart/setchplenv.bash make make check chpl -o hello examples/hello.chpl
-
- Eigen Cheat sheet
- Eigen Aliasing
- Eigen 3.2.92 : Bug 1221: disable gcc 6 warning: ignoring attributes on template argument
- Eigen disable GCC diagnostic ignored "-Wignored-attributes" has already merged
- An evaluation of the Eigen linear algebra library for use in the aither CFD solver
- A look at the performance of expression templates in C++: Eigen vs Blaze vs Fastor vs Armadillo vs XTensor
- How should I initialize the contents of a large matrix in Eigen?
-