minitu / amr

Integration of GPU solvers in Charm++ AMR MiniApp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

*****Contact Akhil Langer at alanger@illinois.edu (or akhilanger@gmail.com) for any questions****

1. Changes in the Makefile
a) set the CHARMHOME variable to the path of charm directory


Compiling the code:
1. make
2. for debugging: make OPTS=-g -O0

Running the code:
./charmrun +p8 ++local ./advection arg1 arg2 arg3
where arg1 = max_depth of the mesh
      arg2 = #zones in one dimension per chare
      arg3 = #iterations for which the code is to be run
      arg4 = load balancing frequency (should be a multiple of 3, 3 is the refinement frequency)
      arg5(optional) = intial mesh size (set to 128 by default)

READING ORDER
1. advection.ci - read the entry methods - iterate, remeshing, doComputationStep
2. QuadIndex.h - contains the bit Vector based 3D Octtree implementaion
                provides interface to get neighbor indices, child indices, etc.
3. Advection.C - contains implementation of boundary exchange functions, iterpolation, 
                finite state machine for granularity decision consensus, refinement and
                coarsening functions, etc.

Citation:
@inproceedings{langer2012scalable,
  title={Scalable Algorithms for Distributed-Memory Adaptive Mesh Refinement},
  author={Langer, Akhil and Lifflander, Jonathan and Miller, Phil and Pan, Kuo-Chuan and Kale, Laxmikant V and Ricker, Paul},
  booktitle={Computer Architecture and High Performance Computing (SBAC-PAD), 2012 IEEE 24th International Symposium on},
  pages={100--107},
  year={2012},
  organization={IEEE}
}


*****Contact Akhil Langer at alanger@illinois.edu (or akhilanger@gmail.com) for any questions****

About

Integration of GPU solvers in Charm++ AMR MiniApp


Languages

Language:Cuda 90.6%Language:C++ 4.0%Language:C 2.5%Language:Makefile 1.7%Language:Perl 0.6%Language:Shell 0.4%Language:Gnuplot 0.2%