This is an enquiry email via http://x10-lang.org/ from:
Ivan Kulagin <kadet...@gmail.com>

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
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users

Reply via email to