Skip to content

Commit 44068bf

Browse files
committed
rename the env vars from dis to en
1 parent c16c35b commit 44068bf

3 files changed

Lines changed: 88 additions & 60 deletions

File tree

docs/backend/SYCL.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -790,10 +790,10 @@ use 1 SYCL GPUs: [0] with Max compute units:512
790790
| GGML_SYCL_DEBUG | 0 (default) or 1 | Enable log function by macro: GGML_SYCL_DEBUG |
791791
| GGML_SYCL_DEV2DEV_MEMCPY | 0 (default) or 1 | Choose the SYCL or L0 API in dev2dev memory copy.<br>Value: <br>* 0: SYCL API (default)<br>* 1: L0 API -- L0 API is found to lead to abnormal crash in some case. This debug flag is used to check the issue.|
792792
| GGML_SYCL_ENABLE_FLASH_ATTN | 1 (default) or 0| Enable Flash-Attention. It can reduce memory usage. The performance impact depends on the LLM.|
793-
| GGML_SYCL_DISABLE_OPT | 0 (default) or 1 | Disable optimize features for Intel GPUs. (Recommended to 1 for Intel devices older than Gen 10) |
794-
| GGML_SYCL_DISABLE_GRAPH | 0 or 1 (default) | Disable running computations through SYCL Graphs feature. Disabled by default because SYCL Graph is still on development, no better performance. |
793+
| GGML_SYCL_ENABLE_OPT | 0 or 1 (default)| Enable optimize features for Intel GPUs. (Recommended to 0 for Intel devices older than Gen 10) |
794+
| GGML_SYCL_ENABLE_GRAPH | 0 (default) or 1 | Enable running computations through SYCL Graphs feature. Disabled by default because SYCL Graph is still on development, no better performance. |
795795
| GGML_SYCL_USE_LEVEL_ZERO_API | 1 (default) or 0 | Use Level Zero API for device memory allocation instead of SYCL. Reduces system RAM usage on Intel dGPUs by avoiding DMA-buf/TTM host memory staging. Requires GGML_SYCL_SUPPORT_LEVEL_ZERO_API=ON at build time. SYCL backend always runs on Level Zero running time even if it's set as OFF (The SYCL api will be usage for memory allocation).|
796-
| GGML_SYCL_DISABLE_DNN | 0 (default) or 1 | Disable running computations through oneDNN and always use oneMKL. |
796+
| GGML_SYCL_ENABLE_DNN | 0 or 1 (default)| Enable running computations through oneDNN and always use oneMKL. |
797797
| GGML_SYCL_ENABLE_VMM | 0 or 1 (default) | Enable the virtual-memory device pool. |
798798
| ZES_ENABLE_SYSMAN | 0 (default) or 1 | Support to get free memory of GPU by sycl::aspect::ext_intel_free_memory.<br>Recommended to use when --split-mode = layer |
799799
| UR_L0_ENABLE_RELAXED_ALLOCATION_LIMITS | 0 (default) or 1 | Allow SYCL/Unified Runtime Level Zero device allocations larger than 4 GiB. llama.cpp's direct Level Zero allocation path requests the relaxed maximum-size limit itself when GGML_SYCL_ENABLE_LEVEL_ZERO=1. |
@@ -807,7 +807,7 @@ Pass these via `CXXFLAGS` or add a one-off `#define` to enable a flag on the spo
807807
|-----------------|----------------------------------------------------------------------------------|
808808
| DEBUG_SYCL_POOL | Enable device memory pool logging on teardown. Useful for profiling allocations. |
809809
| DEBUG_SYCL_MALLOC | Enable verbose per-call logging of device pool alloc/free operations. |
810-
810+
| GGML_SYCL_SUPPORT_VMM | Support to building with VMM code. Default is Yes. |
811811

812812
## Design Rule
813813

ggml/src/ggml-sycl/common.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ void ggml_sycl_host_free(void* ptr);
5959

6060

6161
extern int g_ggml_sycl_debug;
62-
extern int g_ggml_sycl_disable_optimize;
62+
extern int g_ggml_sycl_enable_optimize;
6363
extern int g_ggml_sycl_prioritize_dmmv;
6464
extern int g_ggml_sycl_enable_flash_attention;
6565
extern int g_ggml_sycl_dev2dev_memcpy;

ggml/src/ggml-sycl/ggml-sycl.cpp

Lines changed: 83 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
#if SYCL_EXT_ONEAPI_VIRTUAL_MEM
4242
# include <sycl/ext/oneapi/virtual_mem/physical_mem.hpp>
4343
# include <sycl/ext/oneapi/virtual_mem/virtual_mem.hpp>
44-
# define GGML_SYCL_USE_VMM
44+
# define GGML_SYCL_SUPPORT_VMM
4545
#endif
4646
#include <sycl/half_type.hpp>
4747

@@ -80,9 +80,9 @@
8080

8181
static bool g_sycl_loaded = false;
8282
int g_ggml_sycl_debug = 0;
83-
int g_ggml_sycl_disable_optimize = 0;
84-
int g_ggml_sycl_disable_graph = 0;
85-
int g_ggml_sycl_disable_dnn = 0;
83+
int g_ggml_sycl_enable_optimize = 1;
84+
int g_ggml_sycl_enable_graph = 0;
85+
int g_ggml_sycl_enable_dnn = 1;
8686
int g_ggml_sycl_enable_vmm = 1;
8787
int g_ggml_sycl_prioritize_dmmv = 0;
8888
int g_ggml_sycl_use_async_mem_op = 0;
@@ -117,7 +117,7 @@ static ggml_sycl_device_info ggml_sycl_init() {
117117
SYCL_CHECK(CHECK_TRY_ERROR(dpct::get_device_info(
118118
prop, device)));
119119

120-
#if !defined(GGML_SYCL_USE_VMM)
120+
#if !defined(GGML_SYCL_SUPPORT_VMM)
121121
info.devices[i].vmm = 0;
122122
#else
123123
info.devices[i].vmm = device.has(sycl::aspect::ext_oneapi_virtual_mem);
@@ -265,14 +265,24 @@ void ggml_backend_sycl_print_sycl_devices() {
265265
print_device_opt_feature(device_count);
266266
}
267267

268+
static const char* dev2dev_int2str(int dev2dev) {
269+
if (dev2dev == DEV2DEV_MEMCPY_SYCL) {
270+
return "SYCL API";
271+
} else if (dev2dev == DEV2DEV_MEMCPY_L0) {
272+
return "Level Zero API";
273+
} else {
274+
return "Unknown";
275+
}
276+
}
277+
268278
static void ggml_check_sycl() try {
269279
static bool initialized = false;
270280

271281
if (!initialized) {
272282
g_ggml_sycl_debug = ggml_sycl_get_env("GGML_SYCL_DEBUG", 0);
273-
g_ggml_sycl_disable_optimize = ggml_sycl_get_env("GGML_SYCL_DISABLE_OPT", 0);
274-
g_ggml_sycl_disable_graph = ggml_sycl_get_env("GGML_SYCL_DISABLE_GRAPH", 1);
275-
g_ggml_sycl_disable_dnn = ggml_sycl_get_env("GGML_SYCL_DISABLE_DNN", 0);
283+
g_ggml_sycl_enable_optimize = ggml_sycl_get_env("GGML_SYCL_ENABLE_OPT", 1);
284+
g_ggml_sycl_enable_graph = ggml_sycl_get_env("GGML_SYCL_ENABLE_GRAPH", 0);
285+
g_ggml_sycl_enable_dnn = ggml_sycl_get_env("GGML_SYCL_ENABLE_DNN", 1);
276286
g_ggml_sycl_enable_vmm = ggml_sycl_get_env("GGML_SYCL_ENABLE_VMM", 1);
277287
g_ggml_sycl_prioritize_dmmv = ggml_sycl_get_env("GGML_SYCL_PRIORITIZE_DMMV", 0);
278288

@@ -292,72 +302,87 @@ static void ggml_check_sycl() try {
292302
GGML_SYCL_DEBUG("[SYCL] call ggml_check_sycl\n");
293303

294304
GGML_LOG_INFO("Build with Macros:\n");
295-
#if defined(GGML_SYCL_FORCE_MMQ)
296-
GGML_LOG_INFO(" GGML_SYCL_FORCE_MMQ: yes\n");
305+
#if defined(GGML_SYCL_DNNL)
306+
GGML_LOG_INFO(" GGML_SYCL_DNNL: yes\n");
297307
#else
298-
GGML_LOG_INFO(" GGML_SYCL_FORCE_MMQ: no\n");
308+
GGML_LOG_INFO(" GGML_SYCL_DNNL: no\n");
299309
#endif
310+
300311
#if defined(GGML_SYCL_F16)
301312
GGML_LOG_INFO(" GGML_SYCL_F16: yes\n");
302313
#else
303314
GGML_LOG_INFO(" GGML_SYCL_F16: no\n");
304315
#endif
316+
317+
#if defined(GGML_SYCL_FORCE_MMQ)
318+
GGML_LOG_INFO(" GGML_SYCL_FORCE_MMQ: yes\n");
319+
#else
320+
GGML_LOG_INFO(" GGML_SYCL_FORCE_MMQ: no\n");
321+
#endif
322+
305323
#if defined(GGML_SYCL_GRAPH)
306324
GGML_LOG_INFO(" GGML_SYCL_GRAPH: yes\n");
307325
#else
308326
GGML_LOG_INFO(" GGML_SYCL_GRAPH: no\n");
309327
#endif
310-
#if defined(GGML_SYCL_DNNL)
311-
GGML_LOG_INFO(" GGML_SYCL_DNNL: yes\n");
312-
#else
313-
GGML_LOG_INFO(" GGML_SYCL_DNNL: no\n");
314-
#endif
328+
315329
#if defined(GGML_SYCL_SUPPORT_LEVEL_ZERO_API)
316330
GGML_LOG_INFO(" GGML_SYCL_SUPPORT_LEVEL_ZERO_API: yes\n");
317331
#else
318332
GGML_LOG_INFO(" GGML_SYCL_SUPPORT_LEVEL_ZERO_API: no\n");
319333
#endif
320-
#if defined(GGML_SYCL_USE_VMM)
321-
GGML_LOG_INFO(" GGML_SYCL_USE_VMM: yes\n");
334+
#if defined(GGML_SYCL_SUPPORT_VMM)
335+
GGML_LOG_INFO(" GGML_SYCL_SUPPORT_VMM: yes\n");
322336
#else
323-
GGML_LOG_INFO(" GGML_SYCL_USE_VMM: no\n");
337+
GGML_LOG_INFO(" GGML_SYCL_SUPPORT_VMM: no\n");
324338
#endif
325339

326340
GGML_LOG_INFO("Running with Environment Variables:\n");
327341
GGML_LOG_INFO(" GGML_SYCL_DEBUG: %d\n", g_ggml_sycl_debug);
328-
GGML_LOG_INFO(" GGML_SYCL_DISABLE_OPT: %d\n", g_ggml_sycl_disable_optimize);
329-
#ifdef GGML_SYCL_GRAPH
330-
GGML_LOG_INFO(" GGML_SYCL_DISABLE_GRAPH: %d\n", g_ggml_sycl_disable_graph);
342+
343+
#ifdef GGML_SYCL_SUPPORT_LEVEL_ZERO_API
344+
GGML_LOG_INFO(" GGML_SYCL_DEV2DEV_MEMCPY: %d (%s)\n", g_ggml_sycl_dev2dev_memcpy, dev2dev_int2str(g_ggml_sycl_dev2dev_memcpy));
331345
#else
332-
GGML_LOG_INFO(" GGML_SYCL_DISABLE_GRAPH: graph disabled by compile flag\n");
346+
GGML_LOG_INFO(" GGML_SYCL_DEV2DEV_MEMCPY: %d (%s), enable to SYCL API since missing GGML_SYCL_SUPPORT_LEVEL_ZERO_API\n",
347+
g_ggml_sycl_dev2dev_memcpy, dev2dev_int2str(g_ggml_sycl_dev2dev_memcpy));
333348
#endif
334-
#ifdef GGML_SYCL_SUPPORT_LEVEL_ZERO_API
335-
GGML_LOG_INFO(" GGML_SYCL_USE_LEVEL_ZERO_API: %d\n", g_ggml_sycl_use_level_zero_api);
336-
GGML_LOG_INFO(" GGML_SYCL_DEV2DEV_MEMCPY: %d\n", g_ggml_sycl_dev2dev_memcpy);
349+
350+
#if defined(GGML_SYCL_DNNL)
351+
GGML_LOG_INFO(" GGML_SYCL_ENABLE_DNN: %d\n", g_ggml_sycl_enable_dnn);
337352
#else
338-
GGML_LOG_INFO(" GGML_SYCL_USE_LEVEL_ZERO_API: Disable Level Zero API usage by compile flag\n");
339-
GGML_LOG_INFO(" GGML_SYCL_DEV2DEV_MEMCPY: %d, enable to SYCL API since missing GGML_SYCL_SUPPORT_LEVEL_ZERO_API\n",
340-
g_ggml_sycl_dev2dev_memcpy);
353+
GGML_LOG_INFO(" GGML_SYCL_ENABLE_DNN: DNN disabled by compile flag\n");
341354
#endif
342-
#if GGML_SYCL_DNNL
343-
GGML_LOG_INFO(" GGML_SYCL_DISABLE_DNN: %d\n", g_ggml_sycl_disable_dnn);
355+
356+
#ifdef SYCL_FLASH_ATTN
357+
GGML_LOG_INFO(" GGML_SYCL_ENABLE_FLASH_ATTN: %d\n", g_ggml_sycl_enable_flash_attention);
344358
#else
345-
GGML_LOG_INFO(" GGML_SYCL_DISABLE_DNN: DNN disabled by compile flag\n");
359+
GGML_LOG_INFO(" GGML_SYCL_ENABLE_FLASH_ATTN: %d disabled by compile flag\n",
360+
g_ggml_sycl_enable_flash_attention);
346361
#endif
347-
#if defined(GGML_SYCL_USE_VMM)
362+
363+
#ifdef GGML_SYCL_GRAPH
364+
GGML_LOG_INFO(" GGML_SYCL_ENABLE_GRAPH: %d\n", g_ggml_sycl_enable_graph);
365+
#else
366+
GGML_LOG_INFO(" GGML_SYCL_ENABLE_GRAPH: graph disabled by compile flag\n");
367+
#endif
368+
369+
GGML_LOG_INFO(" GGML_SYCL_ENABLE_OPT: %d\n", g_ggml_sycl_enable_optimize);
370+
371+
#if defined(GGML_SYCL_SUPPORT_VMM)
348372
GGML_LOG_INFO(" GGML_SYCL_ENABLE_VMM: %d\n", g_ggml_sycl_enable_vmm);
349373
#else
350374
GGML_LOG_INFO(" GGML_SYCL_ENABLE_VMM: virtual memory extension is not available\n");
351375
#endif
376+
352377
GGML_LOG_INFO(" GGML_SYCL_PRIORITIZE_DMMV: %d\n", g_ggml_sycl_prioritize_dmmv);
378+
353379
g_ggml_sycl_use_async_mem_op_requested = ggml_sycl_get_env("GGML_SYCL_USE_ASYNC_MEM_OP", 1);
354380
GGML_LOG_INFO(" GGML_SYCL_USE_ASYNC_MEM_OP: %d\n", g_ggml_sycl_use_async_mem_op_requested);
355381

356-
#ifdef SYCL_FLASH_ATTN
357-
GGML_LOG_INFO(" GGML_SYCL_ENABLE_FLASH_ATTN: %d\n", g_ggml_sycl_enable_flash_attention);
382+
#ifdef GGML_SYCL_SUPPORT_LEVEL_ZERO_API
383+
GGML_LOG_INFO(" GGML_SYCL_USE_LEVEL_ZERO_API: %d\n", g_ggml_sycl_use_level_zero_api);
358384
#else
359-
GGML_LOG_INFO(" GGML_SYCL_ENABLE_FLASH_ATTN: %d disabled by compile flag\n",
360-
g_ggml_sycl_enable_flash_attention);
385+
GGML_LOG_INFO(" GGML_SYCL_USE_LEVEL_ZERO_API: Disable Level Zero API usage by compile flag\n");
361386
#endif
362387

363388
GGML_LOG_INFO(" GGML_SYCL_USM_SYSTEM: %d\n", g_ggml_sycl_usm_system);
@@ -373,7 +398,7 @@ static void ggml_check_sycl() try {
373398
// staging path while preserving queue ordering semantics. Graph support still depends on the extension being
374399
// available, but it no longer needs to control the non-graph fast path.
375400
#if defined(GGML_SYCL_GRAPH) && SYCL_EXT_ONEAPI_ASYNC_MEMORY_ALLOC
376-
g_ggml_sycl_use_async_mem_op = g_ggml_sycl_use_async_mem_op_requested || !g_ggml_sycl_disable_graph;
401+
g_ggml_sycl_use_async_mem_op = g_ggml_sycl_use_async_mem_op_requested || g_ggml_sycl_enable_graph;
377402
if (g_ggml_sycl_use_async_mem_op) {
378403
for (unsigned int i = 0; i < dpct::dev_mgr::instance().device_count(); ++i) {
379404
if (!dpct::dev_mgr::instance().get_device(i).has(sycl::aspect::ext_oneapi_async_memory_alloc)) {
@@ -516,7 +541,7 @@ ggml_backend_sycl_buffer_init_tensor(ggml_backend_buffer_t buffer,
516541
return GGML_STATUS_SUCCESS;
517542
}
518543

519-
if (!g_ggml_sycl_disable_optimize) {
544+
if (g_ggml_sycl_enable_optimize) {
520545
// set reorder extra buffer based on supported type
521546
switch (tensor->type) {
522547
case GGML_TYPE_Q4_0:
@@ -1562,7 +1587,7 @@ struct ggml_sycl_pool_leg : public ggml_sycl_pool {
15621587
};
15631588

15641589
// pool with virtual memory management
1565-
#if defined(GGML_SYCL_USE_VMM)
1590+
#if defined(GGML_SYCL_SUPPORT_VMM)
15661591
struct ggml_sycl_pool_vmm : public ggml_sycl_pool {
15671592
static const size_t SYCL_POOL_VMM_MAX_SIZE = 1ull << 35; // 32 GB
15681593

@@ -1674,7 +1699,7 @@ struct ggml_sycl_pool_vmm : public ggml_sycl_pool {
16741699
GGML_ASSERT(ptr == reinterpret_cast<void *>(pool_addr + pool_used));
16751700
}
16761701
};
1677-
#endif // defined(GGML_SYCL_USE_VMM)
1702+
#endif // defined(GGML_SYCL_SUPPORT_VMM)
16781703

16791704
struct ggml_sycl_pool_host : public ggml_sycl_pool {
16801705
queue_ptr qptr;
@@ -1756,11 +1781,11 @@ std::unique_ptr<ggml_sycl_pool> ggml_backend_sycl_context::new_pool_for_host(que
17561781
}
17571782

17581783
std::unique_ptr<ggml_sycl_pool> ggml_backend_sycl_context::new_pool_for_device(queue_ptr qptr, int device) {
1759-
#if defined(GGML_SYCL_USE_VMM)
1784+
#if defined(GGML_SYCL_SUPPORT_VMM)
17601785
if (g_ggml_sycl_enable_vmm && ggml_sycl_info().devices[device].vmm) {
17611786
return std::unique_ptr<ggml_sycl_pool>(new ggml_sycl_pool_vmm(qptr, device));
17621787
}
1763-
#endif // defined(GGML_SYCL_USE_VMM)
1788+
#endif // defined(GGML_SYCL_SUPPORT_VMM)
17641789
return std::unique_ptr<ggml_sycl_pool>(new ggml_sycl_pool_leg(qptr, device));
17651790
}
17661791

@@ -2429,7 +2454,7 @@ inline void ggml_sycl_op_mul_mat_sycl(
24292454

24302455
#if GGML_SYCL_DNNL && defined(GGML_SYCL_HAS_BF16)
24312456
// Fast path for bf16 src0
2432-
if (src0->type == GGML_TYPE_BF16 && !g_ggml_sycl_disable_dnn && ggml_is_contiguous(src0) &&
2457+
if (src0->type == GGML_TYPE_BF16 && g_ggml_sycl_enable_dnn && ggml_is_contiguous(src0) &&
24332458
row_diff == src0->ne[1]) {
24342459
using bf16_t = sycl::ext::oneapi::bfloat16;
24352460
ggml_sycl_pool_alloc<bf16_t> src1_as_bf16(ctx.pool(), src1_ncols*ne10);
@@ -2482,7 +2507,7 @@ inline void ggml_sycl_op_mul_mat_sycl(
24822507
: src1_as_f16.get();
24832508

24842509
#if GGML_SYCL_DNNL
2485-
if (!g_ggml_sycl_disable_dnn) {
2510+
if (g_ggml_sycl_enable_dnn) {
24862511
DnnlGemmWrapper::row_gemm(ctx,row_diff, src1_ncols , ne10, src0_ptr,
24872512
DnnlGemmWrapper::to_dt<sycl::half>(), src1_ptr, DnnlGemmWrapper::to_dt<sycl::half>(),
24882513
dst_dd_i, DnnlGemmWrapper::to_dt<float>(), stream);
@@ -2532,7 +2557,7 @@ inline void ggml_sycl_op_mul_mat_sycl(
25322557
const int64_t gemm_flops = (int64_t)row_diff * src1_ncols * ne10;
25332558
const bool use_mkl_direct = gemm_flops < 256 * 256 * 256;
25342559
#if GGML_SYCL_DNNL
2535-
if (!g_ggml_sycl_disable_dnn && !use_mkl_direct) {
2560+
if (g_ggml_sycl_enable_dnn && !use_mkl_direct) {
25362561
DnnlGemmWrapper::row_gemm(ctx, row_diff, src1_ncols, ne10, src0_ddf_i,
25372562
DnnlGemmWrapper::to_dt<float>(), src1_ddf1_i, DnnlGemmWrapper::to_dt<float>(),
25382563
dst_dd_i, DnnlGemmWrapper::to_dt<float>(), stream);
@@ -3352,7 +3377,7 @@ static void ggml_sycl_mul_mat_batched_sycl(ggml_backend_sycl_context & ctx, cons
33523377
const int64_t r3 = ne13 / ne03;
33533378

33543379
#if GGML_SYCL_DNNL
3355-
if (!g_ggml_sycl_disable_dnn) {
3380+
if (g_ggml_sycl_enable_dnn) {
33563381
int64_t str_a0 = nb00 / type_size_src0;
33573382
int64_t str_a1 = nb01 / type_size_src0;
33583383
int64_t str_a2 = nb02 / type_size_src0;
@@ -4092,12 +4117,12 @@ static bool reorder_qw(const ggml_tensor * src0, dpct::queue_ptr stream) {
40924117
}
40934118

40944119
static bool should_reorder_tensor(ggml_backend_sycl_context& ctx, const ggml_tensor * dst) {
4095-
return !g_ggml_sycl_disable_optimize && //allow optimize, controlled by $GGML_SYCL_DISABLE_OPT
4096-
ctx.opt_feature.reorder && //allow this device due to good perf, skip the devices with bad perf.
4097-
dst->op == GGML_OP_MUL_MAT && //limit to some supported cases of Q4_0, to do for more cases.
4098-
// ne[1] <= 8 so multi-column decode (spec / MTP verify) also bootstraps the reorder;
4099-
// all reorderable types have a _switch_ncols kernel.
4100-
dst->src[1]->ne[1] <= 8 && dst->src[1]->ne[2]==1 && dst->src[1]->ne[3]==1;
4120+
return g_ggml_sycl_enable_optimize && //allow optimize, controlled by $GGML_SYCL_ENABLE_OPT
4121+
ctx.opt_feature.reorder && //allow this device due to good perf, skip the devices with bad perf.
4122+
dst->op == GGML_OP_MUL_MAT && //limit to some supported cases of Q4_0, to do for more cases.
4123+
// ne[1] <= 8 so multi-column decode (spec / MTP verify) also bootstraps the reorder;
4124+
// all reorderable types have a _switch_ncols kernel.
4125+
dst->src[1]->ne[1] <= 8 && dst->src[1]->ne[2]==1 && dst->src[1]->ne[3]==1;
41014126
}
41024127

41034128
static void opt_for_reorder(ggml_backend_sycl_context * ctx, const ggml_tensor * src0, const ggml_tensor * /* src1 */,
@@ -4136,7 +4161,7 @@ static void opt_for_reorder(ggml_backend_sycl_context * ctx, const ggml_tensor *
41364161

41374162
// Lazily reorder supported MoE expert weights once their fused path is used.
41384163
static void opt_for_reorder_id(ggml_backend_sycl_context * ctx, const ggml_tensor * src0) {
4139-
if (g_ggml_sycl_disable_optimize || !ctx->opt_feature.reorder) {
4164+
if (!g_ggml_sycl_enable_optimize || !ctx->opt_feature.reorder) {
41404165
return;
41414166
}
41424167
if (src0->type != GGML_TYPE_Q4_K && src0->type != GGML_TYPE_Q5_K && src0->type != GGML_TYPE_Q6_K) {
@@ -5204,7 +5229,10 @@ static ggml_status ggml_backend_sycl_graph_compute(ggml_backend_t backend, ggml_
52045229
auto * sycl_ctx = static_cast<ggml_backend_sycl_context *>(backend->context);
52055230

52065231
#ifdef GGML_SYCL_GRAPH
5207-
bool use_sycl_graph = !g_ggml_sycl_disable_graph && check_graph_compatibility(cgraph);
5232+
bool use_sycl_graph = false;
5233+
if (g_ggml_sycl_enable_graph) {
5234+
use_sycl_graph = check_graph_compatibility(cgraph);
5235+
}
52085236
if (use_sycl_graph) {
52095237
const bool graph_support = dpct::get_device(sycl_ctx->device).has(sycl::aspect::ext_oneapi_limited_graph);
52105238
if (!graph_support) {

0 commit comments

Comments
 (0)