charm AT lists.siebelschool.illinois.edu
Subject: Charm++ parallel programming system
List archive
- From: Junchao Zhang <junchao.zhang AT gmail.com>
- To: charm AT cs.uiuc.edu
- Subject: [charm] Questions about comparing charm barnes and Splash2's
- Date: Wed, 3 Oct 2012 17:04:18 -0500
- List-archive: <http://lists.cs.uiuc.edu/pipermail/charm/>
- List-id: CHARM parallel programming system <charm.cs.uiuc.edu>
Hello,
I want to compare Charm barnes and its Splash2 orignal. I downloaded Barnes from git://charm.cs.illinois.edu/benchmarks/barnes
I noticed a tiny difference between Charm and Splash2: To compute a particle's hash key, Charm uses
Real xsz = universe.greater_corner.x-universe.lesser_corner.x;Real ysz = universe.greater_corner.y-universe.lesser_corner.y;Real zsz = universe.greater_corner.z-universe.lesser_corner.z;for(unsigned int i = 0; i < myNumParticles; i++){Particle *p = &(myParticles[i]);Key xint = ((Key) (((p->position.x-universe.lesser_corner.x)*(BOXES_PER_DIM*1.0))/xsz));Key yint = ((Key) (((p->position.y-universe.lesser_corner.y)*(BOXES_PER_DIM*1.0))/ysz));Key zint = ((Key) (((p->position.z-universe.lesser_corner.z)*(BOXES_PER_DIM*1.0))/zsz));...}However, Splash2 computes rsize = max(xsz, ysz, zsz), then does hashing like this:Key xint = ((Key) (((p->position.x-universe.lesser_corner.x)*(BOXES_PER_DIM*1.0))/rsize));
Key yint = ((Key) (((p->position.y-universe.lesser_corner.y)*(BOXES_PER_DIM*1.0))/rsize));
I think treating the universe as a cube makes more sense.
After fixing this issue and a few of others. I run charm barnes with 1 PE. Charm prints coordinates of the bottom/top corners of the universe box per time step. But the results given by charm are not as same as Splash2's. The jump between two steps is big in charm.
Could anyone help me on comparing Charm barnes and Splash2?
Thanks in advance.
-- Junchao Zhang
- [charm] Questions about comparing charm barnes and Splash2's, Junchao Zhang, 10/03/2012
Archive powered by MHonArc 2.6.16.