http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1650134 This is one of the more recent papers a quick search turns up, but you have to keep in mind that thread extraction is only one problem among many for a parallelizing compiler. I think the keyword you are looking for is "thread extraction". And here probably, it's the simplest kind of extraction... Food for some thought: assume that you have a very good compiler pass that extracts all possible threads in the sequential code, can you name any other problems the compiler must solve to achieve good performance? I can't talk at all about the project I worked on, but as I mentioned previously, familiarize yourself with the RAW project, it was similar in some respects to the project I worked in: http://groups.csail.mit.edu/cag/raw/ This should, at least a bit, dispel the illusion that parallelizing compilers are helpless when they confront C code. Reading the OS/400 book had opened my mind about OS design, perhaps reading about recent computer architecture research projects will open others' eyes about compilers, and how useful they really can be! Also, I believe there ought to be some textbooks about multi-core architectures and relevant compilation strategies, let me post it if I find a comprehensive reference. The dream compiler would have all the cool linear algebra capabilities of HPF + the more general/free-form kinds of parallelization strategies in recent compilers. Ok, so what you really want to do is, parallelize applications that can benefit from them. Not file utils or web browsers. If you are so curious, stuff like povray would be in the test suite. Sometimes the parallelizing compiler parallelizes computations that a programmer wouldn't bother due to program complexity, here a basic block, there a basic block, some pipelining communication/computation overlap there.... I think it's a safe bet to say that, with all the general lameness surrounding parallel programming languages, parallelizing compilers will be very important in the near future. Cheers, On Thu, Nov 18, 2010 at 2:28 AM, Eray Ozkural wrote: > Yes, actually. :P > > > On Wed, Nov 17, 2010 at 11:15 PM, Jon Harrop < > jonathandeanharrop@googlemail.com> wrote: > >> Can you cite any papers from this century? ;-) >> >> >> >> Cheers, >> >> Jon. >> >> >> >> *From:* Eray Ozkural [mailto:examachine@gmail.com] >> *Sent:* 17 November 2010 13:41 >> *To:* Eray Ozkural; Jon Harrop; caml-list@yquem.inria.fr >> >> *Subject:* Re: [Caml-list] SMP multithreading >> >> >> >> On Wed, Nov 17, 2010 at 8:50 AM, Gabriel Kerneis >> wrote: >> >> 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, >> >> >> >> -- >> Eray Ozkural, PhD candidate. Comp. Sci. Dept., Bilkent University, Ankara >> http://groups.yahoo.com/group/ai-philosophy >> http://myspace.com/arizanesil http://myspace.com/malfunct >> > > > > -- > Eray Ozkural, PhD candidate. Comp. Sci. Dept., Bilkent University, Ankara > http://groups.yahoo.com/group/ai-philosophy > http://myspace.com/arizanesil http://myspace.com/malfunct > > -- Eray Ozkural, PhD candidate. Comp. Sci. Dept., Bilkent University, Ankara http://groups.yahoo.com/group/ai-philosophy http://myspace.com/arizanesil http://myspace.com/malfunct