[Mochi-devel] Introducing Thallium: Margo meets C++14

Dorier, Matthieu mdorier at anl.gov
Fri Dec 8 01:48:52 CST 2017


Dear Mochi users and developers,

We would like to introduce a new addition to the Mochi suite: Thallium, a C++14 library built on top of Margo.

Thallium is available on the SDS gitlab group: https://xgitlab.cels.anl.gov/sds/thallium
It even has a wiki with a number of tutorials: https://xgitlab.cels.anl.gov/sds/thallium/wikis/home

The major advantages of Thallium, compared with Margo, are:
- Much smaller code to write in C++ than what we would write in C with Margo.
- No need for resource management (i.e. calling margo_destroy and other resource-releasing functions), as C resources are wrapped into C++ objects.
- Serialization code for Mercury is made MUCH easier thanks to C++ templates, and all basic types and STL containers are supported by default. No need for macros anymore.

Of course there is a spack package to install it (simply git pull sds-repo to update it).

If you want an example of how simple the code can be, just look here:
https://xgitlab.cels.anl.gov/sds/thallium/wikis/sum

This library has potential for increasing productivity when developing Mochi services. In the near future it will also include wrappers for the Argobots library, to allow tasking/threading with C++14.

Matthieu Dorier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mochi-devel/attachments/20171208/e87116ff/attachment.html>


More information about the mochi-devel mailing list