Indeed -- good point, Yoav. Mohammed, if you run with "-report postcompile=1", the compiler will tell you exactly how it's invoking the post-compiler, and you can then re-run the exact post-compilation command to see the output in your shell. Igor
Yoav Zibin <yoav.zi...@gmail.com> wrote on 07/22/2010 02:29:25 PM: > I think that's what happen: > The X10 compiler created the C++ files, and then it runs the C++ compiler > (we call it a post-compiler) from within Java, and if the return code was > not zero, then it outputs the C++ compiler's output. And your C++ compiler > apparently created a LOT of output (that caused the OutOfMemory). > You can use "-c" to specify another post-compiler. > > Runtime runtime = Runtime.getRuntime(); > Process proc = runtime.exec(cxxCmd, null, > options.output_directory); > > InputStreamReader err = new > InputStreamReader(proc.getErrorStream()); > > String output = null; > try { > char[] c = new char[72]; > int len; > StringBuffer sb = new StringBuffer(); > while((len = err.read(c)) > 0) { > sb.append(String.valueOf(c, 0, len)); *// threw a > OutOfMemoryError* > } > > > > > On Thu, Jul 22, 2010 at 2:17 PM, mohammed elsaeedy < > mohammed.elsae...@kaust.edu.sa> wrote: > > > Dear Igor, > > > > > > Well I did as you said, I took the 2.0.4 source code and I compiled > > over my laptop first (32 bit), and I linked the environment variables to > > the "bin" of the compiled source code, and it worked just perfectly. "ant > > squeakyclean dist" > > > > When I do the same thing over the cluster, I was able to compile it and I > > set the environment variables to the "bin", but when i simply try to > > compile a hello world "x10c++ -o hello hello.x10" it begins to compile the > > classes for X10, and generating this weird "x10" folder in my home. > > but then it stops for an error, "Exception in thread "main" > > java.lang.OutOfMemoryError: Java heap space" > > I do it again and this time I see what it was compiling before: > > > > Not recompiling: x10.lang.Runtime > > Not recompiling: x10.lang.Place > > Not recompiling: x10.lang._ > > Not recompiling: x10.array.Dist > > Not recompiling: x10.array.Point > > Not recompiling: x10.array.Region > > ............... > > ............... > > ............... > > ............... > > Not recompiling: x10.array.Xform > > Not recompiling: x10.array.PolyXform > > Not recompiling: x10.io.EOFException > > Not recompiling: x10.io.ReaderIterator > > Not recompiling: x10.compiler.NativeCPPInclude > > Not recompiling: x10.compiler.NativeCPPOutputFile > > Not recompiling: x10.compiler.NativeCPPCompilationUnit > > Not recompiling: x10.compiler.StackAllocate > > Not recompiling: x10.compiler.ByRef > > Exception in thread "main" java.lang.OutOfMemoryError: Java heap space > > at java.util.Arrays.copyOf(Arrays.java:2882) > > at > > > > java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100) > > at > > java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390) > > at java.lang.StringBuffer.append(StringBuffer.java:224) > > at > > x10cpp.visit.X10CPPTranslator.doPostCompile(X10CPPTranslator.java:472) > > at x10cpp.visit.X10CPPTranslator.postCompile(X10CPPTranslator.java:444) > > at > > > > x10cpp.ExtensionInfo$X10CPPScheduler$1. > invokePostCompiler(ExtensionInfo.java:157) > > at polyglot.visit.PostCompiled.runTask(PostCompiled.java:56) > > at polyglot.frontend.Scheduler.runPass(Scheduler.java:325) > > at polyglot.frontend.AbstractGoal_c.run(AbstractGoal_c.java:102) > > at polyglot.types.LazyRef_c.get(LazyRef_c.java:45) > > at polyglot.frontend.AbstractGoal_c.run(AbstractGoal_c.java:49) > > at polyglot.types.LazyRef_c.get(LazyRef_c.java:45) > > at polyglot.frontend.Scheduler.attempt(Scheduler.java:237) > > at polyglot.frontend.Scheduler.runToCompletion(Scheduler.java:174) > > at polyglot.frontend.Scheduler.runToCompletion(Scheduler.java:160) > > at polyglot.frontend.Compiler.compile(Compiler.java:166) > > at polyglot.frontend.Compiler.compileFiles(Compiler.java:134) > > at polyglot.main.Main.start(Main.java:119) > > at polyglot.main.Main.start(Main.java:74) > > at polyglot.main.Main.main(Main.java:166) > > > > > > I tried to increase the heap size to min 2G and max 3G by using " alias > > java='java -Xms2g -Xmx3g' " > > but it still does not work. > > > > Anyway why is it generating these files? That didn't even happen on my > > laptop !!! > > > > > > On Thu, Jul 22, 2010 at 10:47 AM, Igor Peshansky <ig...@us.ibm.com> wrote: > > > > > mohammed elsaeedy <mohammed.elsae...@kaust.edu.sa> wrote on 07/22/2010 > > > 09:28:44 AM: > > > > > > > Dear List, > > > > > > > > Now, I've implemented several parallel applications by using X10, > > > and > > > > they work very well locally on my machine (32 bit) , but now I want to > > > run > > > > it over a cluster to > > > > evaluate the true performance of intra and inter parallelism, so I set > > > up > > > > the PATH variables on my account in the cluster (Opteron x86_64) with > > > the > > > > release of X10 2.0.4, > > > > Linux/x86_64<http://sourceforge.net/projects/x10/files/x10/2.0. > > > > 4/x10-2.0.4_linux_x86_64.tgz/download> > > > > but then every time I try to compile an application over the cluster it > > > > gives me the following error: > > > > > > > > <cluster path>/x10-2.0.4_linux_x86/lib/libx10.so: file not recognized: > > > File > > > > format not recognized > > > > collect2: ld returned 1 exit status > > > > x10c++: Non-zero return code: 1 > > > > 2 errors. > > > > > > > > why is that? Do you suggest to download the X10 source code and compile > > > it > > > > over the cluster? and if so, how to do that? > > > > > > Hi, Mohammed, > > > > > > Sorry about that. > > > > > > I'm not sure why you are not able to use the x86_64 pre-built binary, and > > > we'll work with you to debug this issue off-list. > > > > > > However, compiling your own version should definitley get you going. > > > Please look at and follow the build instructions > > > (http://x10.codehaus.org/Building+from+SVN+head and > > > > > > > > http://x10.codehaus.org/X10RT+Implementations#X10RTImplementations- > AugmentingaprebuiltX10ReleasewiththeMPIversionofX10RT > > > ). > > > You should be able to build the MPI binary fairly easily without > > depending > > > on anything we've built (which may be corrupt, according to your report > > > above). Let us know if you run into any problems. > > > 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 ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ X10-users mailing list X10-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/x10-users