lssndrbarbieri@gmail.com Alessandro Barbieri enable av-map instead of av-table in the OFI transport Enable bounce buffers by default Use cross-memory attach for on-node communication Enable polling in quiet, fence, and local completion operations Enable C++ bindings Enable error checking in SHMEM calls. This will increase the overhead of communication operations. Enable fortran bindings Enable long Fortran header, including all function declarations Enable intermittent progress calls inside transport layer Use memcpy to perform local put/get operations Use libfabric as transport layer Use FI_FENCE feature to optimize put-with-signal operations OFI memory registration mode: basic The OFI transport will use FI_MR_RMA_EVENT The OFI transport will use FI_MR_SCALABLE Use MPI for process management Include support for interfacing with a PMI 1.0 launcher. The launcher must be provided by a separate package, such as MPICH, Hydra, or SLURM. Use portals4 as transport layer Enable profiling (pshmem) interface Use pthread mutexes instead of internal queueing locks Enable optimizations assuming the symmetric heap is always symmetric with regards to virtual address. This may cause applications to abort during shmem_init() if such a symmetric heap can not be created, but will reduce the instruction count for some operations. This optimization also requires that the Portals 4 implementation support BIND_INACCESSIBLE on LEs. This optimization will reduce the overhead of communication calls. Support SHMEM_THREAD_MULTIPLE in OFI transport using FI_THREAD_COMPLETION thread safety model instead of FI_THREAD_SAFE Enable threading support Always assume total data ordering is available and abort a job if that's not the case Check will result in slightly higher overhead but will provide a fallback if the network doesn't provide total data ordering Never use total data ordering optimizations Use ucx transport Use xpmem transport https://github.com/Sandia-OpenSHMEM/SOS/issues Sandia-OpenSHMEM/SOS