Thallium
This section will walk you through a series of tutorials on how to use Thallium. We highly recommend to read at least up to the tutorial on providers, which will give you a good picture of how to make a truely object-oriented Mochi service with Thallium.
Thallium also provide a complete object-oriented wrapper for Argobots. One important thing to keep in mind is that these wrappers should be used in place of the C++ threading library.
Important
One of the most frequent source
of bug we encounter is developers mistakenly using std::mutex
or std::thread
intead of their Thallium counterparts
thallium::mutex
and thallium::thread
.
- Initializing Thallium
- Simple Hello World RPC
- Sending arguments, returning values
- Using lambdas and objects to define RPC handlers
- Properly stopping a Thallium server
- Sending and returning STL containers
- Sending and returning custom classes
- Transferring data over RDMA
- Working in terms of providers
- Properly finalizing providers
- Introduction to Argobots wrappers
- List of Argobots wrapper classes
- Using Argobots pools with Thallium RPCs
- Custom schedulers and pools
- Non-blocking RPCs
- Serialization with context
- Logging with Thallium
- Using timed callbacks
- Margo JSON configuration in Thallium
- API Documentation