Hi Alessandro -

Thanks very much for bringing up this issue, and for your interest
in Chapel and --llvm-wide-opt [1].

I've prepared a pull request that resolves the issue for me.
I'm still testing this PR but I hope it will be merged sometime
next week. It is here:

 https://github.com/chapel-lang/chapel/pull/4412

I'd be interested to know if that change resolves the issue
for you and also what you plan to do with --llvm-wide-opt.

I'll note that while --llvm-wide-opt is an exciting way to do
communication optimization, it is still considered experimental.
In particular, it doesn't run in nightly testing (although
it probably should). I hope to improve upon it in the future
but recently I have needed to focus on other efforts.

Besides --llvm-wide-opt being experimental, there are a number
of tasks that need to be done to really get the --llvm mode
working as well as it could. I've listed these TODOs in the PR
linked above. Of course, if you are interested in working on any
of these, I'd be happy to help you get started. Also, if you're
interested in using these LLVM-based communication optimizations
in a different compiler, that's something I'd like to discuss
as well. Discussion of either of these topics should probably
move over to [email protected].

>I installed the trunk version of Chapel on Edison (NERSC) choosing
>llvm as back-end. Even the simplest helloworld case (without any
>parallelism) leads to the following error (after about 2 minutes and
>33 seconds of compilation process...):

I can't tell if it took you 2+ minutes to run 'make' or the 'chpl' command.
I'm guessing that you're talking about the 'chpl' command. On my system,
the chpl command takes under 15 seconds in this case. Perhaps that
compilation
mode is particularly slow on Edison for some reason? Nonetheless we are
aware that chpl compiles can take a long time.

>$> chpl --llvm --llvm-wide-opt hello.chpl -o hello

This is reasonable for testing, but note that if you want --llvm-wide-opt
to do anything useful, you need to also pass --fast or another flag that
causes most LLVM optimizations to run.

Cheers,

-michael

[1] A paper about --llvm-wide-opt and also some other LLVM-based
    communication optimization is available here:
    
http://ahayashi.blogs.rice.edu/files/2013/07/Chapel_LLVM_camera_ready-q6usv
4.pdf

------------------------------------------------------------------------------
_______________________________________________
Chapel-bugs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-bugs

Reply via email to