@@ -1421,7 +1421,7 @@ static const tensor_traits<block_iq4_nl, 4, 4, GGML_TYPE_Q8_0> iq4_nl_4x4_q8_0;
1421
1421
1422
1422
} // namespace ggml::cpu::repack
1423
1423
1424
- static const ggml::cpu::tensor_traits * ggml_aarch64_get_optimal_repack_type (const struct ggml_tensor * cur) {
1424
+ static const ggml::cpu::tensor_traits * ggml_repack_get_optimal_repack_type (const struct ggml_tensor * cur) {
1425
1425
if (cur->type == GGML_TYPE_Q4_0) {
1426
1426
if (ggml_cpu_has_avx2 () || (ggml_cpu_has_sve () && ggml_cpu_has_matmul_int8 () && ggml_cpu_get_sve_cnt () == QK8_0)) {
1427
1427
if (cur->ne [1 ] % 8 == 0 ) {
@@ -1455,14 +1455,14 @@ static const ggml::cpu::tensor_traits * ggml_aarch64_get_optimal_repack_type(con
1455
1455
return nullptr ;
1456
1456
}
1457
1457
1458
- static enum ggml_status ggml_backend_cpu_aarch64_buffer_init_tensor (ggml_backend_buffer_t buffer, struct ggml_tensor * tensor) {
1459
- tensor->extra = (void *) const_cast <ggml::cpu::tensor_traits *>(ggml_aarch64_get_optimal_repack_type (tensor));
1458
+ static enum ggml_status ggml_backend_cpu_repack_buffer_init_tensor (ggml_backend_buffer_t buffer, struct ggml_tensor * tensor) {
1459
+ tensor->extra = (void *) const_cast <ggml::cpu::tensor_traits *>(ggml_repack_get_optimal_repack_type (tensor));
1460
1460
1461
1461
GGML_UNUSED (buffer);
1462
1462
return GGML_STATUS_SUCCESS;
1463
1463
}
1464
1464
1465
- static void ggml_backend_cpu_aarch64_buffer_set_tensor (ggml_backend_buffer_t buffer, struct ggml_tensor * tensor,
1465
+ static void ggml_backend_cpu_repack_buffer_set_tensor (ggml_backend_buffer_t buffer, struct ggml_tensor * tensor,
1466
1466
const void * data, size_t offset, size_t size) {
1467
1467
GGML_ASSERT (offset == 0 );
1468
1468
GGML_ASSERT (size == ggml_nbytes (tensor));
@@ -1474,28 +1474,28 @@ static void ggml_backend_cpu_aarch64_buffer_set_tensor(ggml_backend_buffer_t buf
1474
1474
GGML_UNUSED (buffer);
1475
1475
}
1476
1476
1477
- static const char * ggml_backend_cpu_aarch64_buffer_type_get_name (ggml_backend_buffer_type_t buft) {
1478
- return " CPU_AARCH64 " ;
1477
+ static const char * ggml_backend_cpu_repack_buffer_type_get_name (ggml_backend_buffer_type_t buft) {
1478
+ return " CPU_REPACK " ;
1479
1479
1480
1480
GGML_UNUSED (buft);
1481
1481
}
1482
1482
1483
- static ggml_backend_buffer_t ggml_backend_cpu_aarch64_buffer_type_alloc_buffer (ggml_backend_buffer_type_t buft, size_t size) {
1483
+ static ggml_backend_buffer_t ggml_backend_cpu_repack_buffer_type_alloc_buffer (ggml_backend_buffer_type_t buft, size_t size) {
1484
1484
ggml_backend_buffer_t buffer = ggml_backend_buft_alloc_buffer (ggml_backend_cpu_buffer_type (), size);
1485
1485
1486
1486
if (buffer == nullptr ) {
1487
1487
return nullptr ;
1488
1488
}
1489
1489
1490
1490
buffer->buft = buft;
1491
- buffer->iface .init_tensor = ggml_backend_cpu_aarch64_buffer_init_tensor ;
1492
- buffer->iface .set_tensor = ggml_backend_cpu_aarch64_buffer_set_tensor ;
1491
+ buffer->iface .init_tensor = ggml_backend_cpu_repack_buffer_init_tensor ;
1492
+ buffer->iface .set_tensor = ggml_backend_cpu_repack_buffer_set_tensor ;
1493
1493
buffer->iface .get_tensor = nullptr ;
1494
1494
buffer->iface .cpy_tensor = nullptr ;
1495
1495
return buffer;
1496
1496
}
1497
1497
1498
- static size_t ggml_backend_cpu_aarch64_buffer_type_get_alignment (ggml_backend_buffer_type_t buft) {
1498
+ static size_t ggml_backend_cpu_repack_buffer_type_get_alignment (ggml_backend_buffer_type_t buft) {
1499
1499
return TENSOR_ALIGNMENT;
1500
1500
1501
1501
GGML_UNUSED (buft);
@@ -1507,8 +1507,8 @@ class extra_buffer_type : ggml::cpu::extra_buffer_type {
1507
1507
if ( op->op == GGML_OP_MUL_MAT &&
1508
1508
op->src [0 ]->buffer &&
1509
1509
(ggml_n_dims (op->src [0 ]) == 2 ) &&
1510
- op->src [0 ]->buffer ->buft == ggml_backend_cpu_aarch64_buffer_type () &&
1511
- ggml_aarch64_get_optimal_repack_type (op->src [0 ])
1510
+ op->src [0 ]->buffer ->buft == ggml_backend_cpu_repack_buffer_type () &&
1511
+ ggml_repack_get_optimal_repack_type (op->src [0 ])
1512
1512
) {
1513
1513
if (op->src [1 ]->buffer && !ggml_backend_buft_is_host (op->src [1 ]->buffer ->buft )) {
1514
1514
return false ;
@@ -1523,8 +1523,8 @@ class extra_buffer_type : ggml::cpu::extra_buffer_type {
1523
1523
} else if (op->op == GGML_OP_MUL_MAT_ID
1524
1524
&& op->src [0 ]->buffer
1525
1525
&& (ggml_n_dims (op->src [0 ]) == 3 )
1526
- && op->src [0 ]->buffer ->buft == ggml_backend_cpu_aarch64_buffer_type ()
1527
- && ggml_aarch64_get_optimal_repack_type (op->src [0 ])
1526
+ && op->src [0 ]->buffer ->buft == ggml_backend_cpu_repack_buffer_type ()
1527
+ && ggml_repack_get_optimal_repack_type (op->src [0 ])
1528
1528
) {
1529
1529
if (op->src [1 ]->buffer && !ggml_backend_buft_is_host (op->src [1 ]->buffer ->buft )) {
1530
1530
return false ;
@@ -1541,7 +1541,7 @@ class extra_buffer_type : ggml::cpu::extra_buffer_type {
1541
1541
1542
1542
ggml::cpu::tensor_traits * get_tensor_traits (const struct ggml_tensor * op) override {
1543
1543
if (op->op == GGML_OP_MUL_MAT || op->op == GGML_OP_MUL_MAT_ID) {
1544
- if (op->src [0 ]->buffer && op->src [0 ]->buffer ->buft == ggml_backend_cpu_aarch64_buffer_type ()) {
1544
+ if (op->src [0 ]->buffer && op->src [0 ]->buffer ->buft == ggml_backend_cpu_repack_buffer_type ()) {
1545
1545
return (ggml::cpu::tensor_traits *) op->src [0 ]->extra ;
1546
1546
}
1547
1547
}
@@ -1550,12 +1550,12 @@ class extra_buffer_type : ggml::cpu::extra_buffer_type {
1550
1550
};
1551
1551
} // namespace ggml::cpu::repack
1552
1552
1553
- ggml_backend_buffer_type_t ggml_backend_cpu_aarch64_buffer_type (void ) {
1554
- static struct ggml_backend_buffer_type ggml_backend_cpu_buffer_type_aarch64 = {
1553
+ ggml_backend_buffer_type_t ggml_backend_cpu_repack_buffer_type (void ) {
1554
+ static struct ggml_backend_buffer_type ggml_backend_cpu_buffer_type_repack = {
1555
1555
/* .iface = */ {
1556
- /* .get_name = */ ggml_backend_cpu_aarch64_buffer_type_get_name ,
1557
- /* .alloc_buffer = */ ggml_backend_cpu_aarch64_buffer_type_alloc_buffer ,
1558
- /* .get_alignment = */ ggml_backend_cpu_aarch64_buffer_type_get_alignment ,
1556
+ /* .get_name = */ ggml_backend_cpu_repack_buffer_type_get_name ,
1557
+ /* .alloc_buffer = */ ggml_backend_cpu_repack_buffer_type_alloc_buffer ,
1558
+ /* .get_alignment = */ ggml_backend_cpu_repack_buffer_type_get_alignment ,
1559
1559
/* .get_max_size = */ nullptr , // defaults to SIZE_MAX
1560
1560
/* .get_alloc_size = */ nullptr , // defaults to ggml_nbytes
1561
1561
/* .is_host = */ nullptr ,
@@ -1564,5 +1564,5 @@ ggml_backend_buffer_type_t ggml_backend_cpu_aarch64_buffer_type(void) {
1564
1564
/* .context = */ new ggml::cpu::repack::extra_buffer_type (),
1565
1565
};
1566
1566
1567
- return &ggml_backend_cpu_buffer_type_aarch64 ;
1567
+ return &ggml_backend_cpu_buffer_type_repack ;
1568
1568
}
0 commit comments