mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2025-09-11 17:44:38 +00:00
sync - fix cmake failing to build with c++11, updated glslc.exe to handle coopmat, sync sdtype count, aarch repack flags
This commit is contained in:
parent
de64b9198c
commit
7e1abf3aaf
5 changed files with 20 additions and 6 deletions
|
@ -68,6 +68,7 @@ find_package(Threads REQUIRED)
|
||||||
|
|
||||||
add_compile_definitions(LOG_DISABLE_LOGS)
|
add_compile_definitions(LOG_DISABLE_LOGS)
|
||||||
add_compile_definitions(GGML_USE_CPU)
|
add_compile_definitions(GGML_USE_CPU)
|
||||||
|
add_compile_definitions(GGML_USE_CPU_AARCH64)
|
||||||
|
|
||||||
file(GLOB GGML_SOURCES_CUDA "ggml/src/ggml-cuda/*.cu")
|
file(GLOB GGML_SOURCES_CUDA "ggml/src/ggml-cuda/*.cu")
|
||||||
list(APPEND GGML_SOURCES_CUDA "ggml/src/ggml-cuda/ggml-cuda.cu")
|
list(APPEND GGML_SOURCES_CUDA "ggml/src/ggml-cuda/ggml-cuda.cu")
|
||||||
|
|
4
Makefile
4
Makefile
|
@ -54,8 +54,8 @@ ifdef KCPP_DEBUG
|
||||||
CFLAGS = -g -O0
|
CFLAGS = -g -O0
|
||||||
CXXFLAGS = -g -O0
|
CXXFLAGS = -g -O0
|
||||||
endif
|
endif
|
||||||
CFLAGS += -I. -Iggml/include -Iggml/src -Iggml/src/ggml-cpu -Iinclude -Isrc -I./include -I./include/CL -I./otherarch -I./otherarch/tools -I./otherarch/sdcpp -I./otherarch/sdcpp/thirdparty -I./include/vulkan -O3 -fno-finite-math-only -std=c11 -fPIC -DLOG_DISABLE_LOGS -D_GNU_SOURCE -DGGML_USE_CPU
|
CFLAGS += -I. -Iggml/include -Iggml/src -Iggml/src/ggml-cpu -Iinclude -Isrc -I./include -I./include/CL -I./otherarch -I./otherarch/tools -I./otherarch/sdcpp -I./otherarch/sdcpp/thirdparty -I./include/vulkan -O3 -fno-finite-math-only -std=c11 -fPIC -DLOG_DISABLE_LOGS -D_GNU_SOURCE -DGGML_USE_CPU -DGGML_USE_CPU_AARCH64
|
||||||
CXXFLAGS += -I. -Iggml/include -Iggml/src -Iggml/src/ggml-cpu -Iinclude -Isrc -I./common -I./include -I./include/CL -I./otherarch -I./otherarch/tools -I./otherarch/sdcpp -I./otherarch/sdcpp/thirdparty -I./include/vulkan -O3 -fno-finite-math-only -std=c++11 -fPIC -DLOG_DISABLE_LOGS -D_GNU_SOURCE -DGGML_USE_CPU
|
CXXFLAGS += -I. -Iggml/include -Iggml/src -Iggml/src/ggml-cpu -Iinclude -Isrc -I./common -I./include -I./include/CL -I./otherarch -I./otherarch/tools -I./otherarch/sdcpp -I./otherarch/sdcpp/thirdparty -I./include/vulkan -O3 -fno-finite-math-only -std=c++11 -fPIC -DLOG_DISABLE_LOGS -D_GNU_SOURCE -DGGML_USE_CPU -DGGML_USE_CPU_AARCH64
|
||||||
ifndef KCPP_DEBUG
|
ifndef KCPP_DEBUG
|
||||||
CFLAGS += -DNDEBUG -s
|
CFLAGS += -DNDEBUG -s
|
||||||
CXXFLAGS += -DNDEBUG -s
|
CXXFLAGS += -DNDEBUG -s
|
||||||
|
|
|
@ -3821,7 +3821,9 @@ static int repack_iq4_nl_to_iq4_nl_4_bl(struct ggml_tensor * t, int interleave_b
|
||||||
GGML_UNUSED(data_size);
|
GGML_UNUSED(data_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace ggml::cpu::aarch64 {
|
namespace ggml {
|
||||||
|
namespace cpu {
|
||||||
|
namespace aarch64 { //ggml::cpu::aarch64
|
||||||
// repack
|
// repack
|
||||||
template <typename BLOC_TYPE, int64_t INTER_SIZE, int64_t NB_COLS>
|
template <typename BLOC_TYPE, int64_t INTER_SIZE, int64_t NB_COLS>
|
||||||
int repack(struct ggml_tensor *, const void *, size_t);
|
int repack(struct ggml_tensor *, const void *, size_t);
|
||||||
|
@ -4137,6 +4139,8 @@ static const tensor_traits<block_q4_0, 8, 8> q4_0_8x8_q8_0;
|
||||||
// instance for IQ4
|
// instance for IQ4
|
||||||
static const tensor_traits<block_iq4_nl, 4, 4> iq4_nl_4x4_q8_0;
|
static const tensor_traits<block_iq4_nl, 4, 4> iq4_nl_4x4_q8_0;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
} // namespace ggml::cpu::aarch64
|
} // namespace ggml::cpu::aarch64
|
||||||
|
|
||||||
static const ggml::cpu::tensor_traits * ggml_aarch64_get_optimal_repack_type(const struct ggml_tensor * cur) {
|
static const ggml::cpu::tensor_traits * ggml_aarch64_get_optimal_repack_type(const struct ggml_tensor * cur) {
|
||||||
|
@ -4210,7 +4214,9 @@ static size_t ggml_backend_cpu_aarch64_buffer_type_get_alignment(ggml_backend_bu
|
||||||
GGML_UNUSED(buft);
|
GGML_UNUSED(buft);
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace ggml::cpu::aarch64 {
|
namespace ggml {
|
||||||
|
namespace cpu {
|
||||||
|
namespace aarch64 { //ggml::cpu::aarch64
|
||||||
class extra_buffer_type : ggml::cpu::extra_buffer_type {
|
class extra_buffer_type : ggml::cpu::extra_buffer_type {
|
||||||
bool supports_op(ggml_backend_dev_t, const struct ggml_tensor * op) override {
|
bool supports_op(ggml_backend_dev_t, const struct ggml_tensor * op) override {
|
||||||
if ( op->op == GGML_OP_MUL_MAT &&
|
if ( op->op == GGML_OP_MUL_MAT &&
|
||||||
|
@ -4257,6 +4263,9 @@ class extra_buffer_type : ggml::cpu::extra_buffer_type {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
} // namespace ggml::cpu::aarch64
|
} // namespace ggml::cpu::aarch64
|
||||||
|
|
||||||
ggml_backend_buffer_type_t ggml_backend_cpu_aarch64_buffer_type(void) {
|
ggml_backend_buffer_type_t ggml_backend_cpu_aarch64_buffer_type(void) {
|
||||||
|
|
|
@ -3,10 +3,12 @@
|
||||||
#include "ggml-backend-impl.h"
|
#include "ggml-backend-impl.h"
|
||||||
#include "ggml-backend.h"
|
#include "ggml-backend.h"
|
||||||
|
|
||||||
namespace ggml::cpu {
|
namespace ggml {
|
||||||
|
namespace cpu {
|
||||||
tensor_traits::~tensor_traits() {}
|
tensor_traits::~tensor_traits() {}
|
||||||
|
|
||||||
extra_buffer_type::~extra_buffer_type() {}
|
extra_buffer_type::~extra_buffer_type() {}
|
||||||
|
}
|
||||||
} // namespace ggml::cpu
|
} // namespace ggml::cpu
|
||||||
|
|
||||||
bool ggml_cpu_extra_compute_forward(struct ggml_compute_params * params, struct ggml_tensor * op) {
|
bool ggml_cpu_extra_compute_forward(struct ggml_compute_params * params, struct ggml_tensor * op) {
|
||||||
|
|
|
@ -15,7 +15,8 @@ bool ggml_cpu_extra_work_size(int n_threads, const struct ggml_tensor * op, size
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace ggml::cpu {
|
namespace ggml {
|
||||||
|
namespace cpu {
|
||||||
// register in tensor->extra
|
// register in tensor->extra
|
||||||
class tensor_traits {
|
class tensor_traits {
|
||||||
public:
|
public:
|
||||||
|
@ -30,6 +31,7 @@ class extra_buffer_type {
|
||||||
virtual bool supports_op(ggml_backend_dev_t dev, const struct ggml_tensor * op) = 0;
|
virtual bool supports_op(ggml_backend_dev_t dev, const struct ggml_tensor * op) = 0;
|
||||||
virtual tensor_traits * get_tensor_traits(const struct ggml_tensor * op) = 0;
|
virtual tensor_traits * get_tensor_traits(const struct ggml_tensor * op) = 0;
|
||||||
};
|
};
|
||||||
|
}
|
||||||
} // namespace ggml::cpu
|
} // namespace ggml::cpu
|
||||||
|
|
||||||
// implemented in ggml-cpu.cpp.
|
// implemented in ggml-cpu.cpp.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue