Re: High-level MPI library
Ivan Raikov <[email protected]>
| Newsgroups | gmane.comp.lang.ml.mlton.user |
|---|---|
| Message-ID | <CADM5OqOWZHDbw4gFWMWV3zr=aBL_yVYtFOsy8KkPXGN=YSyb7Q@mail.gmail.com> |
Ok, thanks for the interesting answer. What would be a good paper to read about the flattening approach of NESL etc.? In what sense is compiler support required? I can live with some manual effort, and in principle the abstractions offered by type classes should be possible to reproduce in ML using modules and functors, no? I did indeed look through some of the MultiMLton documentation, but my quick impression was that it does not yet handle distributed collective operations. Is Suresh Jagannathan the right person to ask about this? Thanks, -Ivan On Fri, Feb 14, 2014 at 11:23 PM, Matthew Fluet <[email protected]>wrote: > On Wed, Feb 12, 2014 at 1:43 AM, Ivan Raikov <[email protected]> > wrote: > > Hi all, > > > > I have created MLton bindings for a (small) subset of the MPI API, > which > > are pretty low-level and using them in Standard ML can be rather awkward > at > > times. The library is available here: > https://github.com/iraikov/mpi-mlton > > > > I am wondering if anyone has worked on or is interested in a > high-level > > library for parallel distributed memory computing that is a bit more > > convenient to use in a functional programming setting. I realize there is > > Concurrent ML and various libraries for distributed computing, but so > far I > > have been unable to locate a worthy alternative to the MPI collective > > operations (e.g. scatter and gather) which is where MPI really shines. > > > > Some examples of high-level features that I would consider convenient > > would include e.g. automatic and efficient flattening of tree/list data > > structures onto the numerical array types supported by MPI, a functional > > interface for defining process topologies, more elegant ways for invoking > > scatter/gather/reduce, and perhaps some driver functions for common > parallel > > computing patterns. So if anybody is working on or thinking about such > > things, some thoughts and opinions would be much appreciated. Thanks, > > I believe that the MultiMLton project > (http://multimlton.cs.purdue.edu/mML/Welcome.html) has been drifting > towards distributed computing, but believe that they mostly expose the > Concurrent ML abstraction, without the collective operations. > > Automatic and efficient flattening of tree/list data structures is > somewhat of an open problem. At the very least, if you take the > flattening approach of NESL/Nepal/Data Parallel Haskell, then you > almost certainly need some amount of compiler support (though DHP is > able to get quite far with sophisticated type classes). In the > Manticore project, we've argued that the full flattening approach > isn't necessarily a good fit for modern multicore computers; it was > better suited for very large vector machines. I don't know about the > argument for or against full flattening for distributed computing. > Although, my suspicion is that the nested data parallelism approach > doesn't work very well in a distributed/MPI setting, since it may > require a lot of communication of these flat arrays. > > -Matthew > > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > > > ------------------------------------------------------------------------------ > Android apps run on BlackBerry 10 > Introducing the new BlackBerry 10.2.1 Runtime for Android apps. > Now with support for Jelly Bean, Bluetooth, Mapview and more. > Get your Android app in front of a whole new audience. Start now. > > http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk > _______________________________________________ > MLton-user mailing list > [email protected]; [email protected] > https://lists.sourceforge.net/lists/listinfo/mlton-user > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. ------------------------------------------------------------------------------ Android apps run on BlackBerry 10 Introducing the new BlackBerry 10.2.1 Runtime for Android apps. Now with support for Jelly Bean, Bluetooth, Mapview and more. Get your Android app in front of a whole new audience. Start now. http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk _______________________________________________ MLton-user mailing list [email protected]; [email protected] https://lists.sourceforge.net/lists/listinfo/mlton-user