Here's how we build it for x10dt - maybe this will help: http://docs.codehaus.org/display/XTENLANG/X10DT+Development+Setup
...Beth Beth Tibbitts Eclipse Parallel Tools Platform http://eclipse.org/ptp IBM STG Communications Protocols and Tools Mailing Address: IBM Corp., Coldstream Research Campus, 745 West New Circle Road, Lexington, KY 40511 Jeeva Paudel <je...@ualberta.ca> wrote on 08/05/2010 04:29:20 PM: > From: > > Jeeva Paudel <je...@ualberta.ca> > > To: > > x10-users@lists.sourceforge.net > > Date: > > 08/05/2010 04:57 PM > > Subject: > > [X10-users] Compiling X10 source in Eclipse > > Hi all, > > I am trying to build X10 source in Eclipse (helios). I checked out all the modules (common, compiler, > constraints, dist, doc, man, ..., tut) from the trunk as separate java projects. I am using JRE 1.6, and the > polyglot-epl.jar. When I try to build the runtime module with ant (version 1.7.1), I get the following error: > > Buildfile: /Documents/X10Src/x10.runtime/build.xml > init: > check-xrx: > gen-xrx: > [echo] Building Java sources for XRX > [echo] x10c -c x10/array/Array.x10 x10/array/BaseDist.x10 x10/array/Dist.x10 x10/array/DistArray.x10 x10/ > array/EmptyRegion.x10 x10/array/FullRegion.x10 x10/array/Layout.x10 x10/array/Mat.x10 x10/util/concurrent/atomic/ > AtomicInteger.x10 x10/util/concurrent/atomic/AtomicLong.x10 x10/util/concurrent/atomic/AtomicReference.x10 x10/util/ > concurrent/atomic/Fences.x10 > [exec] Exception in thread "main" java.lang.Error: Unresolved compilation problems: > [exec] The import polyglot.frontend.ForgivingVisitorGoal cannot be resolved > [exec] The method getILexStream() from the type X10Lexer refers to the missing type ILexStream > [exec] The method getIPrsStream() from the type X10Parser refers to the missing type IPrsStream > [exec] The method TypesInitializedForCommandLineBarrier() is undefined for the type ExtensionInfo.X10Scheduler > [exec] ForgivingVisitorGoal cannot be resolved to a type > [exec] ForgivingVisitorGoal cannot be resolved to a type > [exec] ForgivingVisitorGoal cannot be resolved to a type > [exec] ForgivingVisitorGoal cannot be resolved to a type > [exec] at x10.ExtensionInfo.<init>(ExtensionInfo.java:41) > [exec] at x10c.ExtensionInfo.<init>(ExtensionInfo.java:31) > [exec] at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method) > [exec] at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:39) > [exec] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:27) > [exec] at java.lang.reflect.Constructor.newInstance (Constructor.java:513) > [exec] at java.lang.Class.newInstance0(Class.java:355) > [exec] at java.lang.Class.newInstance(Class.java:308) > [exec] at polyglot.main.Main.loadExtension(Main.java:189) > [exec] at polyglot.main.Main.getExtensionInfo(Main.java:64) > [exec] at polyglot.main.Main.start(Main.java:90) > [exec] at polyglot.main.Main.start(Main.java:74) > [exec] at polyglot.main.Main.main(Main.java:166) > > BUILD FAILED > /Documents/X10Src/x10.runtime/build.xml:236: exec returned: 1 > > The builds of common, compiler and constraints modules are successful though. Can anyone suggest me what might be the > problem here? > > Thanks, > Jeeva P. > U of Alberta > > > On 2010-08-02, at 4:42 AM, x10-users-requ...@lists.sourceforge.net wrote: > > > Send X10-users mailing list submissions to > > x10-users@lists.sourceforge.net > > > > To subscribe or unsubscribe via the World Wide Web, visit > > https://lists.sourceforge.net/lists/listinfo/x10-users > > or, via email, send a message with subject or body 'help' to > > x10-users-requ...@lists.sourceforge.net > > > > You can reach the person managing the list at > > x10-users-ow...@lists.sourceforge.net > > > > When replying, please edit your Subject line so it is more specific > > than "Re: Contents of X10-users digest..." > > Today's Topics: > > > > 1. Re: Proper use of distributions (Igor Peshansky) > > 2. Some questions about X10 and PGAS (mohammed elsaeedy) > > 3. Re: Some questions about X10 and PGAS (Dave Hudak) > > 4. Re: Some questions about X10 and PGAS (mohammed elsaeedy) > > 5. Re: Some questions about X10 and PGAS (Dave Hudak) > > > > From: Igor Peshansky <ig...@us.ibm.com> > > Date: July 30, 2010 8:01:11 AM MDT > > To: Mailing list for users of the X10 programming language <x10-users@lists.sourceforge.net> > > Subject: Re: [X10-users] Proper use of distributions > > Reply-To: Mailing list for users of the X10 programming language <x10-users@lists.sourceforge.net> > > > > > > Hi, Dave, > > > > You are accessing the method size() of the *field* a_prefix_sum > > of the current object (i.e., "this"). However, the message says > > that the *target* of the method *must be local* to the place you > > are running in. It then says what it thinks that place is, and > > what it knows about the place where the method target lives. > > > > So, the message says: > > > >> > > /Users/dhudak/osc/research/x10/tutorial/examples/GoodPrefixSum/src/PrefixSum.x10:42: > >> Place type error: either method target should be local or > >> method should be global. > >> Method target: PrefixSum.this.a_prefix_sum > >> Method target place: null > >> Current place: PrefixSum#this.home > >> Method: size > > > > The target is "this.a_prefix_sum", and the home place of that > > object is "null" (which is to say "unknown" -- we ought to improve > > our error messages). The compiler knows that since you are > > within a non-global instance method of class PrefixSum, you must > > be running in the place where the current instance lives, namely > > "PrefixSum#this.home". > > > > You need to tell the compiler that the field a_prefix_sum lives > > in the same place as the enclosing object. The simplest way to > > do this is to change the declaration of the field to say: > > > > val a_prefix_sum: Array[Int](1)!; > > > > or, in a more expanded form > > > > val a_prefix_sum: Array[Int](1){self.home==this.home}; > > > > This says that the home place of the object the field refers to > > (self.home) must be the same as the home place of the object that > > contains the field (this.home). The compiler will statically > > verify that fact. Since you always initialize that field with a > > new object created in the constructor, the compiler knows that > > it must have been created at the place where the enclosing object > > is being constructed, so you don't have to change anything else > > in the code. > > > > Incidentally, this is a classic example of an underspecified type: > > the type you specify is a supertype of the type you actually need. > > > > However, while the type is underspecified, it is essentially > > harmless, because the parts of the program we discussed so far do > > access the object in the correct place, even if the static type > > information does not reflect that. Your original issue is > > different. > > > > You are invoking place_str() in a place that is not the home place > > of the enclosing object, and thus the dynamic check (which the > > compiler inserted for you) fails. When compiling with > > -STATIC_CALLS, you will get a (legitimate) static error at that > > point. > > > > If you intend to call a method from a place that is not the home > > place of the object, you need to mark it "global". You also need > > to ensure that all the data it accesses is either also marked > > "global", or retrieved via an "at (this)" (same as "at (this.home)"). > > In your particular case, the method place_str() should be global, > > as should the field a_prefix_sum. > > > > Note that you may have more errors of this kind in the parts of > > the program that you have not posted to the list. Please address > > them accordingly. > > > > The rule of thumb is that once you start writing multi-place code, > > you should stop relying on the compiler to insert the dynamic > > checks for you, but instead bite the bullet, build with -STATIC_CALLS, > > and fix the errors. > > > > Hope this helps, > > Igor > > > > Dave Hudak <dhu...@osc.edu> wrote on 07/30/2010 09:10:49 AM: > > > >> Hi Igor (and all), > >> > >> Here is the output from the compiler: > >> > >> dhu...@oscnet166 125%> x10c++ -STATIC_CALLS -o Driver Driver.x10 > >> PrefixSum.x10 AsyncPrefixSum.x10 DistPrefixSum.x10 > >> > > /Users/dhudak/osc/research/x10/tutorial/examples/GoodPrefixSum/src/AsyncPrefixSum. > >> x10:48: Place type error: either method target should be local or > >> method should be global. > >> Method target: AsyncPrefixSum.this.a_prefix_sum > >> Method target place: null > >> Current place: AsyncPrefixSum#this.home > >> Method: size > >> > > /Users/dhudak/osc/research/x10/tutorial/examples/GoodPrefixSum/src/AsyncPrefixSum. > >> x10:49: Place type error: either method target should be local or > >> method should be global. > >> Method target: AsyncPrefixSum.this.a_prefix_sum > >> Method target place: null > >> Current place: AsyncPrefixSum#this.home > >> Method: size > >> > > /Users/dhudak/osc/research/x10/tutorial/examples/GoodPrefixSum/src/PrefixSum. > >> x10:42: Place type error: either method target should be local or > >> method should be global. > >> Method target: PrefixSum.this.a_prefix_sum > >> Method target place: null > >> Current place: PrefixSum#this.home > >> Method: size > >> > > /Users/dhudak/osc/research/x10/tutorial/examples/GoodPrefixSum/src/DistPrefixSum. > >> x10:61: Place type error: either method target should be local or > >> method should be global. > >> Method target: DistPrefixSum.this > >> Method target place: null > >> Current place: p > >> Method: place_str > >> 4 errors. > >> > >> Let's focus on the third error, since that is from the "easiest" > >> implementation (single activity, single place). The code is attached. > >> I think my problem boils down to a lack of understanding about > >> referencing an object's fields and exactly what "this" means. > >> > >> I start out by declaring a class whose objects will allocate an array. > >> I provide 3 constructors (a default and 2 initialization > >> constructors). Constructors seem to use "this" for their definition - > >> is that correct? > >> > >> public class PrefixSum { > >> > >> val a_prefix_sum: Array[Int](1); > >> > >> public def this() { > >> a_prefix_sum = new Array[Int]([1..2], (Point)=>0); > >> } > >> > >> public def this(length:Int) { > >> a_prefix_sum = new Array[Int]([1..length], (Point)=>0); > >> for ((i) in a_prefix_sum) { > >> a_prefix_sum([i]) = i; > >> } > >> } > >> > >> public def this(a:Array[Int](1)) > >> { > >> a_prefix_sum = new Array[Int](a.region, (Point)=>0); > >> for ((i) in a_prefix_sum) { > >> a_prefix_sum([i]) = a([i]); > >> } > >> } > >> > >> ...then, I get the following error on the following code: > >> > >> > > /Users/dhudak/osc/research/x10/tutorial/examples/GoodPrefixSum/src/PrefixSum. > >> x10:42: Place type error: either method target should be local or > >> method should be global. > >> Method target: PrefixSum.this.a_prefix_sum > >> Method target place: null > >> Current place: PrefixSum#this.home > >> Method: size > >> > >> public def str_end():String > >> { > >> return a_prefix_sum([a_prefix_sum.size()]).toString(); > >> } > >> > >> So, it looks like accessing the "size" field of a_prefix_sum goes > >> through "this" - which is the class PrefixSum??? > >> > >> Thanks, > >> Dave > >> > >> > >> On Jul 29, 2010, at 3:08 PM, Igor Peshansky wrote: > >> > >>> Hi, Dave, > >>> > >>> You're accessing a field (or calling a method) of a remote object > >>> reference. If you ran the compiler with the -STATIC_CALLS flag, > >>> you would have gotten a compile-time error. As it is, the > >>> compiler inserts a dynamic check for you, which then fails at > >>> runtime. > >>> > >>> Try compiling your program with -STATIC_CALLS, and see what the > >>> compiler reports. > >>> > >>> Hope this helps, > >>> Igor > >>> P.S. Judging by your stack trace, you seem to be running on a Mac. > >>> There was a bug with printing Mac stack traces in X10 2.0.5 which > >>> is fixed in SVN HEAD (so it will work better in the next release). > >>> > >>> Dave Hudak <dhu...@osc.edu> wrote on 07/29/2010 12:53:18 PM: > >>> > >>>> Hi All, > >>>> > >>>> I took Igor's advice on using a cell to pass results back to the > >>>> calling place. I recoded my function for translating a distarray > > into > >>>> a string as follows. The "boo/hoo" statements are line counters: > >>>> > >>>> public def place_str(): String > >>>> { > >>>> Console.OUT.println("hoo"); > >>>> var s : String = ""; //var is mutable > >>>> Console.OUT.println("hoo1"); > >>>> var first : Boolean = true; //var > >>>> declaration must include type > >>>> Console.OUT.println("place_str "+here.id); > >>>> for (pt in a_prefix_sum | here) { > >>>> if (first) { > >>>> first = false; > >>>> } > >>>> else { > >>>> s += ", "; > >>>> } > >>>> Console.OUT.println("place_str point = "+pt); > >>>> s += a_prefix_sum(pt).toString(); //works because > >>>> toString is global > >>>> } > >>>> return s; > >>>> } > >>>> > >>>> public def str():String > >>>> { > >>>> var s : String = ""; //var is mutable > >>>> for (p in a_prefix_sum.dist.places()) { > >>>> Console.OUT.println("str "+p.id); > >>>> val z = new Cell[String](null); > >>>> Console.OUT.println("boo"); > >>>> val h = here; > >>>> Console.OUT.println("boo2"); > >>>> at (p) { > >>>> Console.OUT.println("boo3"); > >>>> val q = place_str(); > >>>> Console.OUT.println("boo4"); > >>>> at (h) z.set(q); > >>>> Console.OUT.println("boo5"); > >>>> } > >>>> s += z(); > >>>> if (p.id != (Place.MAX_PLACES - 1)) { > >>>> s += ", "; > >>>> } //if > >>>> Console.OUT.println("s = "+s); > >>>> } //for i > >>>> return s; > >>>> } > >>>> > >>>> I am causing an exception when I call the place_str method from any > >>>> place other that place 0. Here is the output: > >>>> > >>>> dhu...@oscnet166 77%> mpirun -np 8 Driver > >>>> <...snip> > >>>> str 0 > >>>> boo > >>>> boo2 > >>>> boo3 > >>>> hoo > >>>> hoo1 > >>>> place_str 0 > >>>> place_str point = (1) > >>>> place_str point = (2) > >>>> place_str point = (3) > >>>> place_str point = (4) > >>>> boo4 > >>>> boo5 > >>>> s = 1, 2, 3, 4, > >>>> str 1 > >>>> boo > >>>> boo2 > >>>> boo3 > >>>> Uncaught exception at place 0: x10.lang.ClassCastException (home==1): > > > >>>> DistPrefixSum{self.home==here} > >>>> x10.lang.ClassCastException (home==1): DistPrefixSum {self.home==here} > >>>> at x10::lang::Throwable::fillInStackTrace() > >>>> > >>>> Any ideas? > >>>> > >>>> Thanks, > >>>> Dave > >>>> On Jul 28, 2010, at 8:05 PM, Igor Peshansky wrote: > >>>> > >>>>> Igor Peshansky/Watson/i...@ibmus wrote on 07/28/2010 07:15:02 PM: > >>>>> > >>>>>> Dave Hudak <dhu...@osc.edu> wrote on 07/28/2010 02:37:22 PM: > >>>>>> > >>>>>>> Hi All, > >>>>>>> > >>>>>>> I am trying to write a class that will do a prefix sum on an > > array. > >>> I > >>>>>>> have written the single-place version and a single-place version > >>> that > >>>>>>> uses multiple activities to compute the sums. I am now trying to > >>>>>>> write the distributed version. Both classes are included (I will > >>>>>>> eventually write an interface for these classes). > >>>>>>> > >>>>>>> I have been able to write the constructors and call them without > >>> run- > >>>>>>> time exceptions occurring. Now, I want to write a function that > >>>>>>> returns a single string representation of a dist array. I wrote a > > > >>>>>>> function that should create a string representation of all dist > >>> array > >>>>>>> elements at a given location (I called it place_str), and then I > >>> want > >>>>>>> to loop over all places: > >>>>>>> > >>>>>>> (from DistPrefixSum.x10): > >>>>>>> > >>>>>>> public def str():String > >>>>>>> { > >>>>>>> var s : String = ""; //var is mutable > >>>>>>> for (var place_id:int=0; place_id<Place.MAX_PLACES; > > place_id++) > >>> > >>>>> { > >>>>>>> s += at (Place.places(place_id)) place_str(); > >>>>>>> if (place_id != (Place.MAX_PLACES - 1)) { > >>>>>>> s += ", "; > >>>>>>> } //if > >>>>>>> } //for i > >>>>>>> return s; > >>>>>>> } > >>>>>>> > >>>>>>> My error occurs on the at statement: > >>>>>>> > >>>>>>> dhu...@oscnet166 35%> x10c++ -O -o Driver Driver.x10 PrefixSum.x10 > > > >>>>>>> AsyncPrefixSum.x10 DistPrefixSum.x10 > >>>>>>> > >>>>>> > >>>>> > >>>> > >>> > >> > > /Users/dhudak/osc/research/x10/tutorial/examples/GoodPrefixSum/src/DistPrefixSum. > >>>>>>> x10:49: Local variable "place_id" is accessed from an inner class > > or > >>> a > >>>>>>> closure, and must be declared final or shared. > >>>>>>> 1 error. > >>>>>>> > >>>>>>> Does anyone have any recommendations? Creating a single string > > from > >>> a > >>>>>>> dist array of integers is a reduction just like finding the sum or > > > >>> max > >>>>>>> of the entries, so I figure its well understood... > >>>>>> > >>>>>> Dave, > >>>>>> > >>>>>> This is a bug in the typechecking of at expressions. You can work > >>>>> around > >>>>>> this by changing the body of the for loop to > >>>>>> > >>>>>> val z = new Cell[String](null); > >>>>>> val h = here; > >>>>>> at (Place.places(place_id)) { val q = place_str(); at (h) > >>>>> z.set(q); > >>>>>> } > >>>>>> s += z(); > >>>>>> if (place_id != (Place.MAX_PLACES - 1)) { > >>>>>> s += ", "; > >>>>>> } //if > >>>>>> > >>>>>> The above code is less efficient, but it should work. > >>>>>> I've opened a JIRA issue: > >>> http://jira.codehaus.org/browse/XTENLANG-1632 > >>>>> . > >>>>>> Please watch that issue for updates on the fix. > >>>>>> Igor > >>>>> > >>>>> Dave, > >>>>> > >>>>> The fix turned out to be simple. This is now fixed in SVN HEAD > >>> (r15224), > >>>>> and will be available in the next X10 release (or you can build from > > > >>> SVN > >>>>> to pick up the fix). > >>>>> Igor > > -- > > Igor Peshansky (note the spelling change!) > > IBM T.J. Watson Research Center > > X10: Parallel Productivity and Performance (http://x10-lang.org/) > > XJ: No More Pain for XML's Gain (http://www.research.ibm.com/xj/) > > "I hear and I forget. I see and I remember. I do and I understand" -- > > Confucius > > > > > > > > > > > > > > From: mohammed elsaeedy <mohammed.elsae...@kaust.edu.sa> > > Date: August 1, 2010 5:47:05 AM MDT > > To: Mailing list for users of the X10 programming language <x10-users@lists.sourceforge.net> > > Subject: [X10-users] Some questions about X10 and PGAS > > Reply-To: Mailing list for users of the X10 programming language <x10-users@lists.sourceforge.net> > > > > > > Dear List, > > > > I have some questions regarding PGAS and X10, > > > > 1) One of the goals for PGAS languages is: > > *One-sided communication for improved inter-process performance, *how is > > that achieved, if I'm compiling with an x10rt of MPI flavor, which is > > eventually a *Two**-sided communication.* > > * > > * > > *2)How is the "async" implemented under the hoods? is it POSIX threads or is > > it OpenMP?* > > * > > * > > *3) X10 and Chapel are APGAS, what is the difference between APGAS and PGAS > > langauges? > > * > > -- > > Thank you for your concern. > > Regards, > > Mohammed El Sayed > > > > > > > > > > From: Dave Hudak <dhu...@osc.edu> > > Date: August 1, 2010 11:55:21 AM MDT > > To: Mailing list for users of the X10 programming language <x10-users@lists.sourceforge.net> > > Subject: Re: [X10-users] Some questions about X10 and PGAS > > Reply-To: Mailing list for users of the X10 programming language <x10-users@lists.sourceforge.net> > > > > > > > > On Aug 1, 2010, at 7:47 AM, mohammed elsaeedy wrote: > > > >> Dear List, > >> > >> I have some questions regarding PGAS and X10, > >> > >> 1) One of the goals for PGAS languages is: > >> *One-sided communication for improved inter-process performance, *how is > >> that achieved, if I'm compiling with an x10rt of MPI flavor, which is > >> eventually a *Two**-sided communication.* > >> * > >> * > >> *2)How is the "async" implemented under the hoods? is it POSIX threads or is > >> it OpenMP?* > >> * > >> * > >> *3) X10 and Chapel are APGAS, what is the difference between APGAS and PGAS > >> langauges? > > > > I'll try this one. APGAS is shorthand for "asynchronous PGAS". Traditional PGAS implementations (UPC and Co-Array > FORTRAN) use an MPI-style execution called SPMD (single-program, multiple data) in which a fixed number of parallel > threads are created at the beginning of the program and all exist until the end of the program. In asynchronous PGAS, > the programmer can create threads during the execution of the program (e.g., using the async or at commands in X10). > > > > Thanks, > > Dave > > > >> * > >> -- > >> Thank you for your concern. > >> Regards, > >> Mohammed El Sayed > >> ------------------------------------------------------------------------------ > >> The Palm PDK Hot Apps Program offers developers who use the > >> Plug-In Development Kit to bring their C/C++ apps to Palm for a share > >> of $1 Million in cash or HP Products. Visit us here for more details: > >> http://p.sf.net/sfu/dev2dev-palm > >> _______________________________________________ > >> X10-users mailing list > >> X10-users@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/x10-users > > > > --- > > David E. Hudak, Ph.D. dhu...@osc.edu > > Program Director, HPC Engineering > > Ohio Supercomputer Center > > http://www.osc.edu > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > From: mohammed elsaeedy <mohammed.elsae...@kaust.edu.sa> > > Date: August 1, 2010 12:32:40 PM MDT > > To: Mailing list for users of the X10 programming language <x10-users@lists.sourceforge.net> > > Subject: Re: [X10-users] Some questions about X10 and PGAS > > Reply-To: Mailing list for users of the X10 programming language <x10-users@lists.sourceforge.net> > > > > > > Dear David, > > > > > > Thank you for your reply, but does that mean the traditional PGAS > > programming language does not present Intra-level parallelism (as in > > threads)? and it only provides Inter-level parallelism as in executing on > > different Processing Elements. > > Where as APGAS, provides both level of parallelism. > > > > am I right? > > I hope I get my other questions answered too :) > > > > Thank you all > > > > On Sun, Aug 1, 2010 at 1:55 PM, Dave Hudak <dhu...@osc.edu> wrote: > > > >> > >> On Aug 1, 2010, at 7:47 AM, mohammed elsaeedy wrote: > >> > >>> Dear List, > >>> > >>> I have some questions regarding PGAS and X10, > >>> > >>> 1) One of the goals for PGAS languages is: > >>> *One-sided communication for improved inter-process performance, *how is > >>> that achieved, if I'm compiling with an x10rt of MPI flavor, which is > >>> eventually a *Two**-sided communication.* > >>> * > >>> * > >>> *2)How is the "async" implemented under the hoods? is it POSIX threads or > >> is > >>> it OpenMP?* > >>> * > >>> * > >>> *3) X10 and Chapel are APGAS, what is the difference between APGAS and > >> PGAS > >>> langauges? > >> > >> I'll try this one. APGAS is shorthand for "asynchronous PGAS". > >> Traditional PGAS implementations (UPC and Co-Array FORTRAN) use an > >> MPI-style execution called SPMD (single-program, multiple data) in which a > >> fixed number of parallel threads are created at the beginning of the program > >> and all exist until the end of the program. In asynchronous PGAS, the > >> programmer can create threads during the execution of the program (e.g., > >> using the async or at commands in X10). > >> > >> Thanks, > >> Dave > >> > >>> * > >>> -- > >>> Thank you for your concern. > >>> Regards, > >>> Mohammed El Sayed > >>> > >> ------------------------------------------------------------------------------ > >>> The Palm PDK Hot Apps Program offers developers who use the > >>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share > >>> of $1 Million in cash or HP Products. Visit us here for more details: > >>> http://p.sf.net/sfu/dev2dev-palm > >>> _______________________________________________ > >>> X10-users mailing list > >>> X10-users@lists.sourceforge.net > >>> https://lists.sourceforge.net/lists/listinfo/x10-users > >> > >> --- > >> David E. Hudak, Ph.D. dhu...@osc.edu > >> Program Director, HPC Engineering > >> Ohio Supercomputer Center > >> http://www.osc.edu > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> ------------------------------------------------------------------------------ > >> The Palm PDK Hot Apps Program offers developers who use the > >> Plug-In Development Kit to bring their C/C++ apps to Palm for a share > >> of $1 Million in cash or HP Products. Visit us here for more details: > >> http://p.sf.net/sfu/dev2dev-palm > >> _______________________________________________ > >> X10-users mailing list > >> X10-users@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/x10-users > >> > > > > > > > > -- > > Thank you for your concern. > > Regards, > > Mohammed El Sayed > > > > > > > > > > From: Dave Hudak <dhu...@osc.edu> > > Date: August 2, 2010 4:42:15 AM MDT > > To: Mailing list for users of the X10 programming language <x10-users@lists.sourceforge.net> > > Subject: Re: [X10-users] Some questions about X10 and PGAS > > Reply-To: Mailing list for users of the X10 programming language <x10-users@lists.sourceforge.net> > > > > > > > > On Aug 1, 2010, at 2:32 PM, mohammed elsaeedy wrote: > > > >> Dear David, > >> > >> > >> Thank you for your reply, but does that mean the traditional PGAS > >> programming language does not present Intra-level parallelism (as in > >> threads)? and it only provides Inter-level parallelism as in executing on > >> different Processing Elements. > >> Where as APGAS, provides both level of parallelism. > >> > >> am I right? > > > > Correct. APGAS environments (in theory) make it easier to program multi-level parallel applications. As hybrid > architectures become more common (think clusters of multicore nodes or clusters of nodes each containing an > accelerator like a GPU), multilevel parallelism will be necessary to fully utilize the machine. Of course, multilevel > parallelism can be created outside of APGAS: lots of programmers are combining MPI + OpenMP or MPI + CUDA. > > > > Dave > > > >> I hope I get my other questions answered too :) > >> > >> Thank you all > >> > >> On Sun, Aug 1, 2010 at 1:55 PM, Dave Hudak <dhu...@osc.edu> wrote: > >> > >>> > >>> On Aug 1, 2010, at 7:47 AM, mohammed elsaeedy wrote: > >>> > >>>> Dear List, > >>>> > >>>> I have some questions regarding PGAS and X10, > >>>> > >>>> 1) One of the goals for PGAS languages is: > >>>> *One-sided communication for improved inter-process performance, *how is > >>>> that achieved, if I'm compiling with an x10rt of MPI flavor, which is > >>>> eventually a *Two**-sided communication.* > >>>> * > >>>> * > >>>> *2)How is the "async" implemented under the hoods? is it POSIX threads or > >>> is > >>>> it OpenMP?* > >>>> * > >>>> * > >>>> *3) X10 and Chapel are APGAS, what is the difference between APGAS and > >>> PGAS > >>>> langauges? > >>> > >>> I'll try this one. APGAS is shorthand for "asynchronous PGAS". > >>> Traditional PGAS implementations (UPC and Co-Array FORTRAN) use an > >>> MPI-style execution called SPMD (single-program, multiple data) in which a > >>> fixed number of parallel threads are created at the beginning of the program > >>> and all exist until the end of the program. In asynchronous PGAS, the > >>> programmer can create threads during the execution of the program (e.g., > >>> using the async or at commands in X10). > >>> > >>> Thanks, > >>> Dave > >>> > >>>> * > >>>> -- > >>>> Thank you for your concern. > >>>> Regards, > >>>> Mohammed El Sayed > >>>> > >>> ------------------------------------------------------------------------------ > >>>> The Palm PDK Hot Apps Program offers developers who use the > >>>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share > >>>> of $1 Million in cash or HP Products. Visit us here for more details: > >>>> http://p.sf.net/sfu/dev2dev-palm > >>>> _______________________________________________ > >>>> X10-users mailing list > >>>> X10-users@lists.sourceforge.net > >>>> https://lists.sourceforge.net/lists/listinfo/x10-users > >>> > >>> --- > >>> David E. Hudak, Ph.D. dhu...@osc.edu > >>> Program Director, HPC Engineering > >>> Ohio Supercomputer Center > >>> http://www.osc.edu > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> ------------------------------------------------------------------------------ > >>> The Palm PDK Hot Apps Program offers developers who use the > >>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share > >>> of $1 Million in cash or HP Products. Visit us here for more details: > >>> http://p.sf.net/sfu/dev2dev-palm > >>> _______________________________________________ > >>> X10-users mailing list > >>> X10-users@lists.sourceforge.net > >>> https://lists.sourceforge.net/lists/listinfo/x10-users > >>> > >> > >> > >> > >> -- > >> Thank you for your concern. > >> Regards, > >> Mohammed El Sayed > >> ------------------------------------------------------------------------------ > >> The Palm PDK Hot Apps Program offers developers who use the > >> Plug-In Development Kit to bring their C/C++ apps to Palm for a share > >> of $1 Million in cash or HP Products. Visit us here for more details: > >> http://p.sf.net/sfu/dev2dev-palm > >> _______________________________________________ > >> X10-users mailing list > >> X10-users@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/x10-users > > > > --- > > David E. Hudak, Ph.D. dhu...@osc.edu > > Program Director, HPC Engineering > > Ohio Supercomputer Center > > http://www.osc.edu > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > The Palm PDK Hot Apps Program offers developers who use the > > Plug-In Development Kit to bring their C/C++ apps to Palm for a share > > of $1 Million in cash or HP Products. Visit us here for more details: > > http://p.sf.net/sfu/dev2dev-palm_______________________________________________ > > X10-users mailing list > > X10-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/x10-users > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by > > Make an app they can't live without > Enter the BlackBerry Developer Challenge > http://p.sf.net/sfu/RIM-dev2dev > _______________________________________________ > X10-users mailing list > X10-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/x10-users ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ X10-users mailing list X10-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/x10-users