[pooma-dev] (Minor) Pooma Tutorial Questions
Julian C. Cummings
cummings at linkline.com
Thu Mar 22 17:33:46 UTC 2001
The purpose of renumber() is to recompute the
global domain of the particle data arrays, which
are DynamicArrays and can change size as particles
are created or destroyed. Pooma also has to keep
track of the size of the various patches, which can
change if particles are moved from one patch to
another during a swap. The domain size information
is used to locate individual particles and to loop
over particles in data parallel operations.
This second task could be done using iterators.
At one point, I asked about introducing iterators
for DynamicArrays, since they are inherently 1D
data structures. I think that idea got shot down,
but we could revisit the issue. In any event, many
particle simulations require that the particles have
a global indexing scheme. In Pooma r1, the "ID" was
a mandatory data element for each particle, but we
got rid of this in Pooma r2. Still, you can look
up particle 42 and get the "same" one, no matter how
many processors or patches there are. That's important.
You would need random access iterators to do that,
and you would still have to maintain a global indexing.
Julian C.
-----Original Message-----
From: Jeffrey Oldham [mailto:oldham at codesourcery.com]
Sent: Wednesday, March 21, 2001 3:27 PM
To: pooma-dev at pooma.codesourcery.com
Subject: [pooma-dev] (Minor) Pooma Tutorial Questions
tut-09.html:
Why is renumber() exposed to the user? Why not use an iterator to
access the particles?
Thanks,
Jeffrey D. Oldham
oldham at codesourcery.com
More information about the pooma-dev
mailing list