def nvmlDeviceOnSameBoard(handle1, handle2):
    r"""
    /**
     * Check if the GPU devices are on the same physical board.
     *
     * For all fully supported products.
     *
     * @param device1                               The first GPU device
     * @param device2                               The second GPU device
     * @param onSameBoard                           Reference in which to return the status.
     *                                              Non-zero indicates that the GPUs are on the same board.
     *
     * @return
     *         - \ref NVML_SUCCESS                 if \a onSameBoard has been set
     *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
     *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a dev1 or \a dev2 are invalid or \a onSameBoard is NULL
     *         - \ref NVML_ERROR_NOT_SUPPORTED     if this check is not supported by the device
     *         - \ref NVML_ERROR_GPU_IS_LOST       if the either GPU has fallen off the bus or is otherwise inaccessible
     *         - \ref NVML_ERROR_UNKNOWN           on any unexpected error
     */
    nvmlReturn_t DECLDIR nvmlDeviceOnSameBoard
    """
    fn = _nvmlGetFunctionPointer("nvmlDeviceOnSameBoard")
    onSameBoard = c_int()
    ret = fn(handle1, handle2, byref(onSameBoard))
    _nvmlCheckReturn(ret)
    return (onSameBoard.value != 0)