Skip to content

realm: dynamic load of gasnetex (stage 1)

Wei Wu requested to merge gex-wrapper into master

In this PR, we split the gasnetex module into gasnetex module and gasnetex wrapper. The gasnetex module will not include any gasnetex.h nor use any gasnetex functions directly. We wrapper all gasnetex calls into the gasnetex wrapper and expose several APIs to the module.

In the next stage, we can dynamic load the gasnetex wrapper, such that we can deliver a librealm.so without gasnetex and the clients only need to compile the gasnetex wrapper on their machines and realm will be able to dynamic load it.

A good start will be looking at the APIs in gasnetex_wrapper.h, which are the APIs exposed by the wrapper.

TODOs:

  1. fix https://gitlab.com/StanfordLegion/legion/-/blob/master/runtime/realm/logging.cc#L327
  2. check the predefined the macro such as GEX_WRAPPER_OK, to make sure they equal to the actual gasnetex macro.
Edited by Wei Wu

Merge request reports