Hello,
I am implementing data layout transformations in Chapel that favor
GPU/heterogenous memory hierarchy.
One of the transformations I am looking at is the AoS-to-SoA conversion
(critical for heterogenous applications). I am hoping to implement this using a
domain map. For example,
var N = 1..100;
record img {
var r: int;
var g: int;
var b: int;
var x: int;
}
var domAoS : domain(1) = {N};
var domSoA : domain(1) dmapped SoA() = {N};
var A : [domAoS] img;
var B : [domSoA] img;
A[3].g = 17; // A accessed as AoS
B[3].g = 17; // B accessed as SoA
I have a partial implementation where I am able to map an AoS index to an SoA
index in the SoA() domain map (as long as the field access information is hard
coded in the module code).
My question is, is there a way to determine which field is being requested in
an AoS reference (A[i].x) from within the domain map code?
- Apan
Apan Qasem, PhD
Visiting Scholar, AMD Research
Associate Professor, Dept of Computer Science
Texas State University
http://www.cs.txstate.edu/~aq10
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers