Skip to content

Commit 8919a94

Browse files
author
zhouwg
committed
sync with upstream
1 parent 28fa6e4 commit 8919a94

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Android")
1111
if(DEFINED HTP_ARCH_VERSION)
1212
if (${HTP_ARCH_VERSION} STREQUAL "v75" OR ${HTP_ARCH_VERSION} STREQUAL "v79")
1313
#works fine on Snapdragon 8Gen3&8Elite with 1.5x - 3x performance gains with the default ggml backend
14-
set(OPT_FLAG " -O3 -march=armv8.7-a -mcpu=cortex-x1 -mtune=cortex-x1 -flto -D_GNU_SOURCE -fvectorize -ffp-model=fast -fno-finite-math-only")
14+
#set(OPT_FLAG " -O3 -march=armv8.7-a -mcpu=cortex-x1 -mtune=cortex-x1 -flto -D_GNU_SOURCE -fvectorize -ffp-model=fast -fno-finite-math-only")
15+
set(OPT_FLAG " -O3 -march=armv8.7-a -flto -D_GNU_SOURCE -fvectorize -ffp-model=fast -fno-finite-math-only")
1516
message("OPT_FLAG:${OPT_FLAG}")
1617
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGGML_USE_HEXAGON ${DEBUG_FLAG} ${OPT_FLAG}")
1718
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGGML_USE_HEXAGON ${DEBUG_FLAG} ${OPT_FLAG}")

ggml/src/ggml-hexagon/ggml-hexagon.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5216,7 +5216,7 @@ static int ggmlhexagon_init_rpcmempool(ggml_backend_hexagon_context * ctx) {
52165216
//FIXME: it seems there is unknown issue with 2+ GiB memory pool
52175217
ctx->rpc_mempool = rpcmem_alloc(RPCMEM_HEAP_ID_SYSTEM, RPCMEM_DEFAULT_FLAGS | RPCMEM_TRY_MAP_STATIC, ctx->rpc_mempool_len);
52185218
if (nullptr == ctx->rpc_mempool) {
5219-
GGMLHEXAGON_LOG_WARN("alloc rpc memorypool %d failed", ctx->rpc_mempool_len);
5219+
GGMLHEXAGON_LOG_WARN("alloc rpc memorypool %ld(%d MiB) failed", ctx->rpc_mempool_len, ctx->rpc_mempool_capacity / SIZE_IN_MB);
52205220
return 2;
52215221
} else {
52225222
GGMLHEXAGON_LOG_DEBUG("alloc rpc memorypool %p successfully %ld(%d MiB)",
@@ -5970,9 +5970,12 @@ static ggml_backend_buffer_t ggml_backend_hexagon_buffer_type_alloc_buffer(
59705970
if ((HWACCEL_CDSP == g_hexagon_appcfg.hwaccel_approach) && (1 == g_hexagon_appcfg.enable_rpc_ion_mempool)) {
59715971
GGMLHEXAGON_LOG_DEBUG("device %d(%s)", ctx->device, ggml_backend_hexagon_get_devname(ctx->device));
59725972
GGML_ASSERT(nullptr != ctx->rpc_mempool);
5973+
GGMLHEXAGON_LOG_DEBUG("size %ld(%d MiB), rpc_mempool_usage %ld(%d MiB), rpc_mempool_len %ld(%d MiB)",
5974+
size, size / SIZE_IN_MB, ctx->rpc_mempool_usage, ctx->rpc_mempool_usage / SIZE_IN_MB,
5975+
ctx->rpc_mempool_len, ctx->rpc_mempool_len / SIZE_IN_MB);
59735976
GGML_ASSERT(size + ctx->rpc_mempool_usage <= ctx->rpc_mempool_len);
59745977
buffer_ctx->buffer = (static_cast<char*>(ctx->rpc_mempool)) + ctx->rpc_mempool_usage;
5975-
GGMLHEXAGON_LOG_DEBUG("size %d(%d MiB), buffer_ctx->buffer %p", size, size / SIZE_IN_MB, buffer_ctx->buffer);
5978+
GGMLHEXAGON_LOG_DEBUG("buffer_ctx->buffer %p", buffer_ctx->buffer);
59765979
GGML_ASSERT(nullptr != buffer_ctx->buffer);
59775980
ctx->rpc_mempool_usage += size_aligned;
59785981
} else {
@@ -6222,7 +6225,7 @@ static ggml_backend_t ggml_backend_hexagon_device_init_backend(ggml_backend_dev_
62226225
static ggml_backend_buffer_type_t ggml_backend_hexagon_buffer_type(size_t device_index) {
62236226
static std::mutex mutex;
62246227
std::lock_guard<std::mutex> lock(mutex);
6225-
GGMLHEXAGON_LOG_DEBUG("enter %s", __func__ );
6228+
GGMLHEXAGON_LOG_DEBUG("enter %s", __func__);
62266229
if (device_index >= GGML_HEXAGON_MAX_DEVICES) {
62276230
GGMLHEXAGON_LOG_DEBUG("ggml_backend_hexagon_buffer_type error: device_index:%d is out of range [0, %d]\n",
62286231
device_index, GGML_HEXAGON_MAX_DEVICES - 1);

0 commit comments

Comments
 (0)