v0.0.3: MPI wrappers w/o full MPI support + setup-env.sh (#15)

* v0.0.3: MPI wrappers w/o full MPI support + setup-env.sh

- bumped to v0.0.3
- enabled gotcha wrapping of MPI functions w/o enabling MPI
- added setup-env.sh script
- minor updates to testing
- Update timemory submodule
- fixes tim::component::configure_mpip undefined symbol
- Script updates
Dieser Commit ist enthalten in:
Jonathan R. Madsen
2021-10-01 16:46:03 -05:00
committet von GitHub
Ursprung 02f59ec9dc
Commit c56b49a0bd
15 geänderte Dateien mit 188 neuen und 36 gelöschten Zeilen
+10 -7
Datei anzeigen
@@ -730,12 +730,14 @@ main(int argc, char** argv)
std::set<std::string> module_names;
auto _add_overlapping = [](module_t* mitr, procedure_t* pitr) {
if(!pitr->isInstrumentable()) return;
std::vector<procedure_t*> _overlapping{};
if(pitr->findOverlapping(_overlapping))
{
overlapping_module_functions.insert(module_function{ mitr, pitr });
for(auto oitr : _overlapping)
{
if(!oitr->isInstrumentable()) continue;
overlapping_module_functions.insert(
module_function{ oitr->getModule(), oitr });
}
@@ -752,7 +754,8 @@ main(int argc, char** argv)
{
for(auto* pitr : *procedures)
{
auto _modfn = module_function(itr, pitr);
if(!pitr->isInstrumentable()) continue;
auto _modfn = module_function{ itr, pitr };
module_names.insert(_modfn.module);
available_module_functions.insert(std::move(_modfn));
_add_overlapping(itr, pitr);
@@ -771,9 +774,9 @@ main(int argc, char** argv)
for(auto* itr : *app_functions)
{
module_t* mod = itr->getModule();
if(mod)
if(mod && itr->isInstrumentable())
{
auto _modfn = module_function(mod, itr);
auto _modfn = module_function{ mod, itr };
module_names.insert(_modfn.module);
available_module_functions.insert(std::move(_modfn));
_add_overlapping(mod, itr);
@@ -1332,11 +1335,11 @@ main(int argc, char** argv)
else
itr->getModuleName(modname, FUNCNAMELEN);
if(itr == main_func)
if(itr == main_func && main_func->isInstrumentable())
{
hash_ids.emplace_back(std::hash<string_t>()(main_sign.get()),
main_sign.get());
auto main_mf = module_function(modname, fname, main_sign, itr);
auto main_mf = module_function{ modname, fname, main_sign, itr };
available_module_functions.insert(main_mf);
instrumented_module_functions.insert(main_mf);
continue;
@@ -1460,8 +1463,8 @@ main(int argc, char** argv)
}
hash_ids.emplace_back(std::hash<string_t>()(name.get()), name.get());
available_module_functions.insert(module_function(mod, itr));
instrumented_module_functions.insert(module_function(mod, itr));
available_module_functions.insert(module_function{ mod, itr });
instrumented_module_functions.insert(module_function{ mod, itr });
auto _f = [=]() {
verbprintf(1, "Instrumenting |> [ %s ] -> [ %s ]\n", modname,