On Wed, Nov 17, 2010 at 06:27:14AM +0200, Eray Ozkural wrote:
> As I said even in C good results can be achieved, I've seen that, so I
> know it's doable with ocaml, just a difficult kind of compiler. The
> functional features would expose more concurrency.
Could you share a pointer to a paper describing this compiler?
I can't reveal much, but just to point out that there are indeed more sophisticated compilers than gcc:
http://www.research.ibm.com/vliw/compiler.html
So, uh, there are compilers that turn loops into threads, and also parallelize independent blocks.... Both coarse-grain and fine-grain parallelization strategies in existing compiler research can be effectively applied to the multi-core architectures. In fact, some of the more advanced compilers (like that of the RAW architecture) must be able to target it already, but who knows. :) Just consider that most of the parallelization technology is language independent, they can be applied to any imperative language. So, would such a thing be able to work on ocaml generated binaries? Most definitely, I believe, it is in principle possible to start from the sequential binary and emit parallel code!
Best,