phasicFlow简介
phasicFlow是一个用于执行DEM模拟的并行C++代码。它可以在共享内存多核计算单元上运行,如多核CPU或GPU(目前它适用于支持CUDA的GPU)。并行化方法主要依赖于共享内存计算单元上的循环级并行化。您可以在普通PC上以串行模式构建和运行phasicFlow,或者在多核CPU的并行模式下构建和运行,或者在GPU设备上构建phasicFlow进行计算。在目前的状态下,你可以在一台台式电脑上模拟数百万个粒子(测试了多达8000万个粒子)。具有动态负载平衡的MPI并行化正在开发中。通过这种级别的并行化,phasicFlow可以利用具有分布式内存CPU的多gpu工作站或集群的计算能力。总之,phasicFlow可以有6种执行模式:
在单个CPU核上串行
在多核计算机/节点上并行(使用OpenMP)
在NVIDIA GPU上并行(使用Cuda)
分布式内存工作站上的并行(使用MPI)
具有多核节点的分布式内存工作站上的并行(使用MPI+OpenMP)
在具有多个GPU的工作站上并行(使用MPI+Cuda)。