Learning Chip

Results 34 issues of Learning Chip

There exist the lowest order Nédélec element `skfem.element.ElementTetN0` for 3D tetrahedral mesh, but no such equivalent for other meshes like the 2D MeshQuad. By looking at the file [element_tet_n0.py](https://github.com/kinnala/scikit-fem/blob/5.2.0/skfem/element/element_tet/element_tet_n0.py), the...

## Problem description In the [DaCe paper](https://arxiv.org/abs/1902.10345), it is stated that DaCe SpMV is as fast as MKL: > We observe similar results in SpMV, which is more complicated to...

Hi, this is very cool work. This repository https://github.com/dionhaefner/pyhpc-benchmarks compares several Python-HPC frameworks such as JAX, Numba, CuPy, PyTorch, etc. Would be useful to add DaCe to the comparison. Related:...

Strumpack (https://github.com/pghysels/STRUMPACK) contains dense and sparse linear solvers, with OpenMP/MPI/CUDA backends. It is a relatively new package written by SuperLU developers. It implements a variety of hierarchical low-rank compression algorithms...

https://github.com/hypre-space/hypre In particular, [BoomerAMG](https://hypre.readthedocs.io/en/latest/solvers-boomeramg.html) only needs a general sparse matrix, without extra physical knowledge.

https://github.com/ddemidov/amgcl Has OpenMP/MPI/CUDA implementations, similar to Hypre but much more lightweight. Already has a [Python interface](https://github.com/ddemidov/amgcl/tree/1.4.2/pyamgcl) (see [test](https://github.com/ddemidov/amgcl/blob/1.4.2/tests/test_pyamgcl.py))

I can get decent parallel speed-up for sparse matmul and sparse matvec, but the dot product between two vectors seems very slow: ```julia using SuiteSparseGraphBLAS using BenchmarkTools gbset(:nthreads, 16) b...

The [benchmark section](https://github.com/JuliaSparse/SuiteSparseGraphBLAS.jl#benchmarks) shows faster execution with more threads. However, I cannot reproduce such parallel scaling. The benchmark script: ```julia using Random: seed! using SparseArrays using SuiteSparseGraphBLAS using BenchmarkTools @show...

This PR shows minimum changes to allow `ruge_stuben` to take complex-valued matrix. It seems to converge well for simple problems: ```julia using LinearAlgebra using AlgebraicMultigrid A = poisson((32, 32, 32))...

## To reproduce Download this [FEMLAB/poisson3Db](https://sparse.tamu.edu/FEMLAB/poisson3Db) file and run: ```julia using MatrixMarket import AlgebraicMultigrid as AMG A = MatrixMarket.mmread("poisson3Db.mtx") b = MatrixMarket.mmread("poisson3Db_b.mtx") |> vec ml = AMG.ruge_stuben(A) x_amg = AMG._solve(ml,...