proper malloc null check
disable rank translation for invalid root, which could be used for non-bcast ops
pass root=-1 for collectives that do not use root (all but bcast) to disable rank translation
remove global data put since not essential to a barrier test and it breaks on my mac