From a programming model point of view, GPI provides a threaded approach as opposed to a process-based view.This provides a better mapping to current hierarchical systems
where intra-node operations should be handled differently from inter-node ones. All GPI operations are thread-safe. Each thread can communicate through shared memory (intra-node)
or use one-sided communication for remote data access (internode).