vpic
mpl
vpic | mpl | |
---|---|---|
2 | 1 | |
147 | 161 | |
2.0% | - | |
0.0 | 6.2 | |
about 1 year ago | 4 months ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
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.
vpic
-
XOOPIC (PIC code from UC Berkeley/PTSG MSU)
The Los Alamos VPIC code is also an option, though the documentation and ease of use leave something to be desired.
-
Can you recommend some resources for learning to code n-body simulations/Monte Carlo algorithms in C or x86 assembly? Would it be better to switch to Linux or BSD from macOS Catalina on my current machine, for the sake of optimizing calculations and simulations?
One of the world's highest performing plasma particle-in-cell kinetic simulation codes (and a past Gordon Bell Finalist), is written in C/C++. It's open source if you care to check it out. https://github.com/lanl/vpic
mpl
-
Header only C++ interface to FFTW
As the other commenter suggested take a look at mpl
What are some alternatives?
blitz - Blitz++ Multi-Dimensional Array Library for C++
h5cpp - C++17 templates between [stl::vector | armadillo | eigen3 | ublas | blitz++] and HDF5 datasets
relion - Image-processing software for cryo-electron microscopy
toml11 - TOML for Modern C++
AdaptiveCpp - Implementation of SYCL and C++ standard parallelism for CPUs and GPUs from all vendors: The independent, community-driven compiler for C++-based heterogeneous programming models. Lets applications adapt themselves to all the hardware in the system - even at runtime!
FunctionalPlus - Functional Programming Library for C++. Write concise and readable C++ code.
Taskflow - A General-purpose Parallel and Heterogeneous Task Programming System
HPCInfo - Information about many aspects of high-performance computing. Wiki content moved to ~/docs.
libgrape-lite - 🍇 A C++ library for parallel graph processing (GRAPE) 🍇
eaxefx - OpenAL EAX Extension
fftwpp - C++ interface to the FFTW library
Bulk - A modern interface for implementing bulk-synchronous parallel programs.