phasicFlow/README.md

25 lines
2.0 KiB
Markdown
Raw Normal View History

2022-09-02 10:56:51 +00:00
# PhasicFlow
2023-04-14 16:29:10 +00:00
<div align="center">
<img src="doc/phasicFlow_logo_github.png" width="300">
</div>
2022-11-19 05:31:11 +00:00
PhasicFlow is a parallel C++ code for performing DEM simulations. It can run on shared-memory multi-core computational units such as multi-core CPUs or GPUs (for now it works on CUDA-enabled GPUs). The parallelization method mainly relies on loop-level parallelization on a shared-memory computational unit. You can build and run PhasicFlow in serial mode on regular PCs, in parallel mode for multi-core CPUs, or build it for a GPU device to off-load computations to a GPU. In its current statues you can simulate millions of particles (up to 32M particles tested) on a single desktop computer. You can see the [performance tests of PhasicFlow](https://github.com/PhasicFlow/phasicFlow/wiki/Performance-of-phasicFlow) in the wiki page.
2022-08-26 14:12:07 +00:00
2022-09-07 10:46:25 +00:00
# How to build?
2022-10-24 20:10:50 +00:00
You can build PhasicFlow for CPU and GPU executions. [Here is a complete step-by-step procedure](https://github.com/PhasicFlow/phasicFlow/wiki/How-to-Build-PhasicFlow).
2022-08-26 14:12:07 +00:00
2023-03-25 19:10:46 +00:00
# Online code documentation
2023-03-25 19:13:12 +00:00
You can find a full documentation of the code, its features, and other related materials on [online documentation of the code](https://phasicflow.github.io/phasicFlow/)
2022-08-26 14:12:07 +00:00
2022-09-02 10:56:51 +00:00
# How to use PhasicFlow?
2022-10-24 20:10:50 +00:00
You can navigate into [tutorials folder](./tutorials) in the phasicFlow folder to see some simulation case setups. If you need more detailed discription, visit our [wiki page tutorials](https://github.com/PhasicFlow/phasicFlow/wiki/Tutorials).
2022-09-07 10:46:25 +00:00
# Supporting packages
* [Kokkos](https://github.com/kokkos/kokkos) from National Technology & Engineering Solutions of Sandia, LLC (NTESS)
* [CLI11 1.8](https://github.com/CLIUtils/CLI11) from University of Cincinnati.
2022-09-02 10:56:51 +00:00
# Extensions in future
2022-08-26 14:31:35 +00:00
### parallelization
2022-08-27 07:33:44 +00:00
* Extending the code for using OpenMPTarget backend to include more GPUs for off-loading the computations.
2022-09-02 10:56:51 +00:00
* Extending high-level parallelization and implementing space partitioning and load balancing for muilti-GPU computations and running PhasicFlow on distributed memory super-computers
2022-08-26 14:31:35 +00:00