diff --git a/openmp/runtime/src/i18n/en_US.txt b/openmp/runtime/src/i18n/en_US.txt index fb7452b8bf06b..228bcdb25a8ea 100644 --- a/openmp/runtime/src/i18n/en_US.txt +++ b/openmp/runtime/src/i18n/en_US.txt @@ -479,6 +479,7 @@ AffHWSubsetAttrInvalid "KMP_HW_SUBSET ignored: %1$s: attribute value %2$s AffHWSubsetAllFiltered "KMP_HW_SUBSET ignored: all hardware resources would be filtered, please reduce the filter." AffHWSubsetAttrsNonHybrid "KMP_HW_SUBSET ignored: Too many attributes specified. This machine is not a hybrid architecutre." AffHWSubsetIgnoringAttr "KMP_HW_SUBSET: ignoring %1$s attribute. This machine is not a hybrid architecutre." +TargetMemNotAvailable "Target memory not available, will use default allocator." # -------------------------------------------------------------------------------------------------- -*- HINTS -*- diff --git a/openmp/runtime/src/kmp_alloc.cpp b/openmp/runtime/src/kmp_alloc.cpp index bf1d0645856b3..fb1b0eb5f0fe5 100644 --- a/openmp/runtime/src/kmp_alloc.cpp +++ b/openmp/runtime/src/kmp_alloc.cpp @@ -1588,8 +1588,10 @@ void *__kmp_alloc(int gtid, size_t algn, size_t size, ptr = kmp_target_alloc_shared(size, device); else // allocator == llvm_omp_target_device_mem_alloc ptr = kmp_target_alloc_device(size, device); + return ptr; + } else { + KMP_INFORM(TargetMemNotAvailable); } - return ptr; } if (allocator >= kmp_max_mem_alloc && KMP_IS_TARGET_MEM_SPACE(al->memspace)) { @@ -1602,8 +1604,10 @@ void *__kmp_alloc(int gtid, size_t algn, size_t size, ptr = kmp_target_alloc_shared(size, device); else // al->memspace == llvm_omp_target_device_mem_space ptr = kmp_target_alloc_device(size, device); + return ptr; + } else { + KMP_INFORM(TargetMemNotAvailable); } - return ptr; } if (__kmp_memkind_available) {