This is an enquiry email via http://x10-lang.org/ from:
Ivan Kulagin <[email protected]>
Hello!
In paper "Communication Optimizations for Distributed-Memory X10 Programs"
(Rajkishore Barik, Jisheng Zhao, David Grove, Igor Peshansky, Zoran Budimlic,
and Vivek Sarkar, IEEE IPDS-2011) an approach "Local Optimization with Loop
Distribution" is proposed (Figure 6: Communication optimization rules: Scalar
Replacement, Local Optimization, Synchronization Elimination, Place-level
Strip-mining, and Parallel reduction).
-----------------------------------------
3. Local Optimization with Loop Distribution:
val dist:Dist = ...;
A = DistArray.make[T](dist);
for (i in dist)
async(A.dist(i)) {
... = A(i);
}
--------------------------------------
I wrote a simple test (as in above):
public class Hello {
public static def main(Array[String]) {
val dist:Dist = Dist.makeBlock(1..1000);
val dist_arr:DistArray[int];
dist_arr = DistArray.make[int](dist, 6);
for (i:Point in dist) {
at (dist_arr.dist(i)) {
async {
val a = dist_arr(i);
Console.OUT.println("str = " + a);
}
}
}
}
}
On my machine a has X10 2.3.1 ang GNU/Linux Fedora 19 x86_64.
I compiled test program with next options:
$ x10c++ -v -OPTIMIZE_COMMUNICATIONS=false Hello.x10
$ x10c++ -v -OPTIMIZE_COMMUNICATIONS=true Hello.x10
When i compare auto-generated c++ files, i see that they are absolutely
identical.
Could you answer to me,
1) Should the auto-generated backend C++ files with enabled
OPTIMIZE_COMMUNICATIONS and without OPTIMIZE_COMMUNICATIONS a differents?
2) Why my test program is insensitive to OPTIMIZE_COMMUNICATIONS?
3) How can i check, that my test program is optimized?
When I perform compilation process in debugger (with
-OPTIMIZE_COMMUNICATIONS=true), i see how reached
visitAsync(Async a) // in
x10.compiler/src/x10/visit/CommunicationOptimizer.java
visitAt(AtStmt at) // in
x10.compiler/src/x10/visit/CommunicationOptimizer.java
Thanks!
Kind regards,
Kulagin Ivan.
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
X10-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/x10-users