.. _supported_features: ****************************** Supported/Unsupported Features ****************************** The following tables indicate which APIs are supported in Intel® SHMEM as of the |release| release. The Intel® SHMEM development team strives to eventually support all OpenSHMEM APIs. Currently unsupported interfaces are targeted for implementation in future releases of Intel® SHMEM. +-------------------------------+---------------+ | **Library Setup Query** | Supported? | +===============================+===============+ | ``ishmem_init`` | Yes | +-------------------------------+---------------+ | ``ishmemx_init_attr`` | Yes | +-------------------------------+---------------+ | ``ishmem_my_pe`` | Yes | +-------------------------------+---------------+ | ``ishmem_n_pes`` | Yes | +-------------------------------+---------------+ | ``ishmem_finalize`` | Yes | +-------------------------------+---------------+ | ``ishmemx_query_initialized`` | Yes | +-------------------------------+---------------+ | ``ishmem_global_exit`` | No | +-------------------------------+---------------+ | ``ishmem_pe_accessible`` | No | +-------------------------------+---------------+ | ``ishmem_addr_accessible`` | No | +-------------------------------+---------------+ | ``ishmem_ptr`` | Yes | +-------------------------------+---------------+ | ``ishmem_team_ptr`` | No | +-------------------------------+---------------+ | ``ishmem_info_get_version`` | Yes | +-------------------------------+---------------+ | ``ishmem_info_get_name`` | Yes | +-------------------------------+---------------+ +-------------------------------+---------------+ | **Thread** | Supported? | +===============================+===============+ | ``ishmem_init_thread`` | Yes | +-------------------------------+---------------+ | ``ishmem_query_thread`` | Yes | +-------------------------------+---------------+ +--------------------------------+---------------+ | **Memory Management** | Supported? | +================================+===============+ | ``ishmem_malloc`` | Yes | +--------------------------------+---------------+ | ``ishmem_free`` | Yes | +--------------------------------+---------------+ | ``ishmem_realloc`` | No | +--------------------------------+---------------+ | ``ishmem_align`` | Yes | +--------------------------------+---------------+ | ``ishmem_malloc_with_hints`` | No | +--------------------------------+---------------+ | ``ishmem_calloc`` | Yes | +--------------------------------+---------------+ +--------------------------------------------+---------------+ | **OpenSHMEM Communication Contexts** | Supported? | +============================================+===============+ | All routines | No | +--------------------------------------------+---------------+ +---------------------------------------------+-------------------+ | **OpenSHMEM Team Management** | Supported? | +=============================================+===================+ | ``ishmem_team_my_pe`` | Yes | +---------------------------------------------+-------------------+ | ``ishmem_team_n_pes`` | Yes | +---------------------------------------------+-------------------+ | ``ishmem_team_config_t`` | Yes (but ignored) | +---------------------------------------------+-------------------+ | ``ishmem_team_get_config`` | Yes | +---------------------------------------------+-------------------+ | ``ishmem_team_translate_pe`` | Yes | +---------------------------------------------+-------------------+ | ``ishmem_team_split_strided`` | Yes | +---------------------------------------------+-------------------+ | ``ishmem_team_split_2d`` | Yes | +---------------------------------------------+-------------------+ | ``ishmem_team_destroy`` | Yes | +---------------------------------------------+-------------------+ +---------------------------------------------+---------------+ | **Remote Memory Access** | Supported? | +=============================================+===============+ | ``ishmem_TYPENAME_put`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_put_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_put_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_putmem`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_putmem_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_putmem_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_putSIZE`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_putSIZE_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_putSIZE_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_p`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_iput`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_iput_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_iput_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_iputSIZE`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_iputSIZE_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_iputSIZE_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_ibput`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_ibput_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_ibput_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_ibputSIZE`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_ibputSIZE_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_ibputSIZE_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_get`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_get_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_get_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_getmem`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_getmem_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_getmem_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_getSIZE`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_getSIZE_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_getSIZE_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_g`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_iget`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_iget_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_iget_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_igetSIZE`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_igetSIZE_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_igetSIZE_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_ibget`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_ibget_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_ibget_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_ibgetSIZE`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_ibgetSIZE_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_ibgetSIZE_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_put_nbi`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_put_nbi_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_put_nbi_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_putmem_nbi`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_putmem_nbi_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_putmem_nbi_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_putSIZE_nbi`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_putSIZE_nbi_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_putSIZE_nbi_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_get_nbi`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_get_nbi_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_get_nbi_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_getmem_nbi`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_getmem_nbi_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_TYPENAME_getmem_nbi_work_group`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_getSIZE_nbi`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_getSIZE_nbi_on_queue`` | Yes | +---------------------------------------------+---------------+ | ``ishmemx_getSIZE_nbi_work_group`` | Yes | +---------------------------------------------+---------------+ | C++ function template routines* | Yes | +---------------------------------------------+---------------+ +-------------------------------------------+---------------+ | **Atomic Memory Operations** | Supported? | +===========================================+===============+ | ``ishmem_TYPENAME_atomic_fetch`` | Yes | +-------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_set`` | Yes | +-------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_compare_swap`` | Yes | +-------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_swap`` | Yes | +-------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_fetch_inc`` | Yes | +-------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_inc`` | Yes | +-------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_fetch_add`` | Yes | +-------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_add`` | Yes | +-------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_fetch_and`` | Yes | +-------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_and`` | Yes | +-------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_fetch_or`` | Yes | +-------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_or`` | Yes | +-------------------------------------------+---------------+ | ``ishmem_TYPENAME_fetch_xor`` | Yes | +-------------------------------------------+---------------+ | ``ishmem_TYPENAME_xor`` | Yes | +-------------------------------------------+---------------+ | C++ function template routines* | Yes | +-------------------------------------------+---------------+ +---------------------------------------------+---------------+ | **Non-blocking Atomic Memory Operations** | Supported? | +=============================================+===============+ | ``ishmem_TYPENAME_atomic_fetch_nbi`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_compare_swap_nbi`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_swap_nbi`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_fetch_inc_nbi`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_fetch_add_nbi`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_fetch_and_nbi`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_fetch_or_nbi`` | Yes | +---------------------------------------------+---------------+ | ``ishmem_TYPENAME_atomic_fetch_xor_nbi`` | Yes | +---------------------------------------------+---------------+ +-------------------------------------------------+---------------+ | **Signaling Operations** | Supported? | +=================================================+===============+ | ``ishmem_TYPENAME_put_signal`` | Yes | +-------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_put_signal_on_queue`` | Yes | +-------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_put_signal_work_group`` | Yes | +-------------------------------------------------+---------------+ | ``ishmem_TYPENAME_put_signal_nbi`` | Yes | +------------------------------+------------------+---------------+ | ``ishmemx_TYPENAME_put_signal_nbi_on_queue`` | Yes | +------------------------------+------------------+---------------+ | ``ishmemx_TYPENAME_put_signal_nbi_work_group`` | Yes | +-------------------------------------------------+---------------+ | ``ishmem_putmem_signal`` | Yes | +------------------------------+------------------+---------------+ | ``ishmemx_putmem_signal_on_queue`` | Yes | +------------------------------+------------------+---------------+ | ``ishmemx_putmem_signal_work_group`` | Yes | +------------------------------+------------------+---------------+ | ``ishmem_putmem_signal_nbi`` | Yes | +------------------------------+------------------+---------------+ | ``ishmemx_putmem_signal_nbi_on_queue`` | Yes | +------------------------------+------------------+---------------+ | ``ishmemx_putmem_signal_nbi_work_group`` | Yes | +------------------------------+------------------+---------------+ | ``ishmem_putSIZE_signal`` | Yes | +------------------------------+------------------+---------------+ | ``ishmemx_putSIZE_signal_on_queue`` | Yes | +------------------------------+------------------+---------------+ | ``ishmemx_putSIZE_signal_work_group`` | Yes | +------------------------------+------------------+---------------+ | ``ishmem_putSIZE_signal_nbi`` | Yes | +------------------------------+------------------+---------------+ | ``ishmemx_putSIZE_signal_nbi_on_queue`` | Yes | +------------------------------+------------------+---------------+ | ``ishmemx_putSIZE_signal_nbi_work_group`` | Yes | +------------------------------+------------------+---------------+ | ``ishmem_signal_fetch`` | Yes | +------------------------------+------------------+---------------+ | ``ishmemx_signal_add`` | Yes | +------------------------------+------------------+---------------+ | ``ishmemx_signal_set`` | Yes | +------------------------------+------------------+---------------+ +------------------------------------+---------------+ | **Synchronization and Ordering** | Supported? | +====================================+===============+ | ``ishmem_fence`` | Yes | +------------------------------------+---------------+ | ``ishmemx_fence_work_group`` | Yes | +------------------------------------+---------------+ | ``ishmem_quiet`` | Yes | +------------------------------------+---------------+ | ``ishmemx_quiet_on_queue`` | Yes | +------------------------------------+---------------+ | ``ishmemx_quiet_work_group`` | Yes | +------------------------------------+---------------+ +------------------------------------------------+---------------+ | **Collective Communication** | Supported? | +================================================+===============+ | ``ishmem_barrier_all`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_barrier_all_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_barrier_all_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_sync_all`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_sync_all_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_sync_all_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_team_sync`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_team_sync_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_team_sync_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_TYPENAME_alltoall`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_alltoall_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_alltoall_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_alltoallmem`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_alltoallmem_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_alltoallmem_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_TYPENAME_alltoalls`` | No | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_alltoalls_on_queue`` | No | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_alltoalls_work_group`` | No | +------------------------------------------------+---------------+ | ``ishmem_alltoallsmem`` | No | +------------------------------------------------+---------------+ | ``ishmemx_alltoallsmem_on_queue`` | No | +------------------------------------------------+---------------+ | ``ishmemx_alltoallsmem_work_group`` | No | +------------------------------------------------+---------------+ | ``ishmem_TYPENAME_broadcast`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_broadcast_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_broadcast_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_broadcastmem`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_broadcastmem_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_broadcastmem_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_TYPENAME_collect`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_collect_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_collect_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_collectmem`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_collectmem_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_collectmem_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_TYPENAME_fcollect`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_fcollect_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_fcollect_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_fcollectmem`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_fcollectmem_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_fcollectmem_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_TYPENAME_OP_reduce`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_OP_reduce_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_OP_reduce_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_TYPENAME_inscan`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_inscan_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_inscan_work_group`` | No | +------------------------------------------------+---------------+ | ``ishmem_TYPENAME_exscan`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_exscan_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_TYPENAME_exscan_work_group`` | No | +------------------------------------------------+---------------+ | C++ function template routines* | Yes | +------------------------------------------------+---------------+ +------------------------------------------------+---------------+ | **Point-to-Point Synchronization** | Supported? | +================================================+===============+ | ``ishmem_test`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_test_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_test_all`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_test_all_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_test_any`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_test_any_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_test_some`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_test_some_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_test_all_vector`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_test_all_vector_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_test_any_vector`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_test_any_vector_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_test_some_vector`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_test_some_vector_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_wait_until`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_wait_until_all`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_all_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_all_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_wait_until_any`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_any_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_any_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_wait_until_some`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_some_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_some_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_wait_until_all_vector`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_all_vector_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_all_vector_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_wait_until_any_vector`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_any_vector_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_any_vector_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_wait_until_some_vector`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_some_vector_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_wait_until_some_vector_work_group`` | Yes | +------------------------------------------------+---------------+ | ``ishmem_signal_wait_until`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_signal_wait_until_on_queue`` | Yes | +------------------------------------------------+---------------+ | ``ishmemx_signal_wait_until_work_group`` | Yes | +------------------------------------------------+---------------+ | C++ function template routines* | Yes | +------------------------------------------------+---------------+ +-------------------------------------------+---------------+ | **Mutual Exclusion** | Supported? | +===========================================+===============+ | All routines | No | +-------------------------------------------+---------------+ +-------------------------------------------+---------------+ | **Library Constants** | Supported? | +===========================================+===============+ | ``ISHMEM_THREAD_SINGLE`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_THREAD_FUNNELED`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_THREAD_SERIALIZED`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_THREAD_MULTIPLE`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_MAJOR_VERSION`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_MINOR_VERSION`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_MAX_NAME_LEN`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_VENDOR_STRING`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_CMP_EQ`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_CMP_NE`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_CMP_LT`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_CMP_LE`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_CMP_GT`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_CMP_GE`` | Yes | +-------------------------------------------+---------------+ +-------------------------------------------+---------------+ | **Environment Variables** | Supported? | +===========================================+===============+ | ``ISHMEM_VERSION`` | No | +-------------------------------------------+---------------+ | ``ISHMEM_INFO`` | No | +-------------------------------------------+---------------+ | ``ISHMEM_SYMMETRIC_SIZE`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_DEBUG`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_SHMEM_LIB_NAME`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_ENABLE_GPU_IPC`` | Yes | +-------------------------------------------+---------------+ | ``ISHMEM_ENABLE_GPU_IPC_PIDFD`` | Yes | +-------------------------------------------+---------------+ \* C11 generic selection routines from the OpenSHMEM specification are replaced with corresponding C++ template function routines in Intel® SHMEM.