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

Reply via email to