NVPTX and NVSHMEM

Is it in principle possible to add support for the NVSHMEM API, e.g. calls to nvshmem_my_pe(), etc., to the NVPTX backend?
Or is this stuff outside the realm of simply lowering instructions to PTX - maybe because NVCC is doing some other magic alongside?
If it’s simply not possible due to how NVIDIA implemented NVSHMEM then it would be good to know.

Thanks,
Frank