Skip to content

NewSigma/Physica

Repository files navigation

Physica

License Linux

Physica is a high-performance and scalable C++ template library, dedicated to providing a rapid iteration platform for new algorithms. It provides the following two main features:

  • Differentiable linear algebra library that leverages SIMD and GPU acceleration
  • Domain specific composable modules for computational physics

It is also an open source platform that maintains scientific code and related data. We expect it as a platform and not just a software, to promote the development of open science. The open source community continuously ensures that the results remain readable, reproducible and reliable.

Table of Contents

Features

  • Operator fusion using expression templates for both CPU and GPU
  • Coroutine based automatic differentiation implementation
  • Basic math library: Provides commonly used functions such as ODE, PDE, special functions, optimization, statistics, etc.
  • Template meta algorithm: optimal algorithm and parallelism strategy selection at compiling time
  • Multi-threads, MPI and CUDA parallel support
  • 2D and 3D plotting support

Usage

Refer to Install.md for a detailed guide on using Physica.

Maintainers

Weibo He (NewSigma@163.com)

Contributing

Feel free to dive in! Open an issue or submit PRs.

Something you can do

1.Test it on your machine and report bugs.

2.Tell us new features you want.

3.Fix bugs, add new features, tests and examples.

4.Reproduce papers and contribute your results to the community

5.Improve the documentation.

Contributors

License

GPLv3 © Weibo He

About

This is a mirror of Physica

Topics

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages