[M3devel] multi-threaded m3front?

Darko Volaric lists at darko.org
Tue Aug 11 07:00:17 CEST 2015


A more fruitful approach might be pipelining the compiler:

- files enter the pipeline in reverse dependency order
- have a thread (stage) to read those files into memory
- have a thread to tokenize and parse the files and form the data structure
- have a thread to do intermediary processing
- have a thread to generate the output representation for the back end

You'll only get a maximum 4x speedup and you'll only be as fast as the
slowest thread, but you can reliably tune the divisions based on simple
benchmarking of each thread. You're very likely to get somewhat close to
the 4x speedup. This works best when there is a 1:1 between pipeline stages
and cores. If you were ambitious you could attempt an 8 stage pipeline for
8 core processors.


On Sat, Aug 8, 2015 at 8:05 PM, Jay K <jay.krell at cornell.edu> wrote:

> Is anyone interested in updating m3front to be multi-threaded?
>
> I haven't seen a single core system in a while.
>
> Surely each module can be compiled separately, possibly with some
> serialization around compiling interfaces?
>
> Thanks,
>  - Jay
>
>
> _______________________________________________
> M3devel mailing list
> M3devel at elegosoft.com
> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20150810/6595984a/attachment-0002.html>


More information about the M3devel mailing list