"vscode:/vscode.git/clone" did not exist on "4b4186f87dcfeb196f128ff48ddd0184752ef2c0"
Commit 0a2fd52c authored by Atream's avatar Atream
Browse files

support windows support q4_0 and q5_0 dequant on cpu Add CopyRight from...

support windows support q4_0 and q5_0 dequant on cpu Add CopyRight from pygguf(It was added before, but disappear after merge). Add some TODO in the code.
parent 442e13bc
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// Copyrigth 2024 Mozilla Foundation. // Copyrigth 2024 Mozilla Foundation.
// Copyright(c) 2024 by KVCache.AI, All Rights Reserved. // Copyright(c) 2024 by KVCache.AI, All Rights Reserved.
#ifdef __x86_64__ #if defined(__x86_64__) || defined(_M_X64)
#define llamafile_mixmul llamafile_mixmul_amd_avx2 #define llamafile_mixmul llamafile_mixmul_amd_avx2
#include "tinyblas_cpu_mixmul.inc" #include "tinyblas_cpu_mixmul.inc"
#endif // __x86_64__ #endif // __x86_64__
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// Copyrigth 2024 Mozilla Foundation. // Copyrigth 2024 Mozilla Foundation.
// Copyright(c) 2024 by KVCache.AI, All Rights Reserved. // Copyright(c) 2024 by KVCache.AI, All Rights Reserved.
#ifdef __x86_64__ #if defined(__x86_64__) || defined(_M_X64)
#define llamafile_mixmul llamafile_mixmul_amd_avx512f #define llamafile_mixmul llamafile_mixmul_amd_avx512f
#include "tinyblas_cpu_mixmul.inc" #include "tinyblas_cpu_mixmul.inc"
#endif // __x86_64__ #endif // __x86_64__
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// Copyrigth 2024 Mozilla Foundation. // Copyrigth 2024 Mozilla Foundation.
// Copyright(c) 2024 by KVCache.AI, All Rights Reserved. // Copyright(c) 2024 by KVCache.AI, All Rights Reserved.
#ifdef __x86_64__ #if defined(__x86_64__) || defined(_M_X64)
#define llamafile_mixmul llamafile_mixmul_amd_avxvnni #define llamafile_mixmul llamafile_mixmul_amd_avxvnni
#include "tinyblas_cpu_mixmul.inc" #include "tinyblas_cpu_mixmul.inc"
#endif // __x86_64__ #endif // __x86_64__
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// Copyrigth 2024 Mozilla Foundation. // Copyrigth 2024 Mozilla Foundation.
// Copyright(c) 2024 by KVCache.AI, All Rights Reserved. // Copyright(c) 2024 by KVCache.AI, All Rights Reserved.
#ifdef __x86_64__ #if defined(__x86_64__) || defined(_M_X64)
#define llamafile_mixmul llamafile_mixmul_amd_fma #define llamafile_mixmul llamafile_mixmul_amd_fma
#include "tinyblas_cpu_mixmul.inc" #include "tinyblas_cpu_mixmul.inc"
#endif // __x86_64__ #endif // __x86_64__
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// Copyrigth 2024 Mozilla Foundation. // Copyrigth 2024 Mozilla Foundation.
// Copyright(c) 2024 by KVCache.AI, All Rights Reserved. // Copyright(c) 2024 by KVCache.AI, All Rights Reserved.
#ifdef __x86_64__ #if defined(__x86_64__) || defined(_M_X64)
#define llamafile_mixmul llamafile_mixmul_amd_zen4 #define llamafile_mixmul llamafile_mixmul_amd_zen4
#include "tinyblas_cpu_mixmul.inc" #include "tinyblas_cpu_mixmul.inc"
#endif // __x86_64__ #endif // __x86_64__
...@@ -321,8 +321,8 @@ bool llamafile_sgemm(long m, long n, long k, const void* A, long lda, const void ...@@ -321,8 +321,8 @@ bool llamafile_sgemm(long m, long n, long k, const void* A, long lda, const void
assert(ith < nth); assert(ith < nth);
#if QK_K == 256 #if QK_K == 256
#if defined(__x86_64__) #if defined(__x86_64__) || defined(_M_X64)
#if defined(__AVX2__) && defined(__FMA__) #if defined(__AVX2__) && (defined(__FMA__) || (defined(_MSC_VER) && (defined(__AVX2__) || defined(__AVX512F__))))
// if (X86_CHECK(AVX2) && X86_CHECK(FMA)) { // if (X86_CHECK(AVX2) && X86_CHECK(FMA)) {
if (Btype == GGML_TYPE_Q8_K && Ctype == GGML_TYPE_F32) { if (Btype == GGML_TYPE_Q8_K && Ctype == GGML_TYPE_F32) {
if (iqk_mul_mat(m, n, k * QK_K, Atype, A, B, (float*)C, ldc, ith, nth)) { if (iqk_mul_mat(m, n, k * QK_K, Atype, A, B, (float*)C, ldc, ith, nth)) {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// Copyrigth 2024 Mozilla Foundation. // Copyrigth 2024 Mozilla Foundation.
// Copyright(c) 2024 by KVCache.AI, All Rights Reserved. // Copyright(c) 2024 by KVCache.AI, All Rights Reserved.
#ifdef __x86_64__ #if defined(__x86_64__) || defined(_M_X64)
#define llamafile_sgemm llamafile_sgemm_amd_avx #define llamafile_sgemm llamafile_sgemm_amd_avx
#include "tinyblas_cpu_sgemm.inc" #include "tinyblas_cpu_sgemm.inc"
#endif // __x86_64__ #endif // __x86_64__
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// Copyrigth 2024 Mozilla Foundation. // Copyrigth 2024 Mozilla Foundation.
// Copyright(c) 2024 by KVCache.AI, All Rights Reserved. // Copyright(c) 2024 by KVCache.AI, All Rights Reserved.
#ifdef __x86_64__ #if defined(__x86_64__) || defined(_M_X64)
#define llamafile_sgemm llamafile_sgemm_amd_avx2 #define llamafile_sgemm llamafile_sgemm_amd_avx2
#include "tinyblas_cpu_sgemm.inc" #include "tinyblas_cpu_sgemm.inc"
#endif // __x86_64__ #endif // __x86_64__
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// Copyrigth 2024 Mozilla Foundation. // Copyrigth 2024 Mozilla Foundation.
// Copyright(c) 2024 by KVCache.AI, All Rights Reserved. // Copyright(c) 2024 by KVCache.AI, All Rights Reserved.
#ifdef __x86_64__ #if defined(__x86_64__) || defined(_M_X64)
#define llamafile_sgemm llamafile_sgemm_amd_avx512f #define llamafile_sgemm llamafile_sgemm_amd_avx512f
#include "tinyblas_cpu_sgemm.inc" #include "tinyblas_cpu_sgemm.inc"
#endif // __x86_64__ #endif // __x86_64__
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// Copyrigth 2024 Mozilla Foundation. // Copyrigth 2024 Mozilla Foundation.
// Copyright(c) 2024 by KVCache.AI, All Rights Reserved. // Copyright(c) 2024 by KVCache.AI, All Rights Reserved.
#ifdef __x86_64__ #if defined(__x86_64__) || defined(_M_X64)
#define llamafile_sgemm llamafile_sgemm_amd_avxvnni #define llamafile_sgemm llamafile_sgemm_amd_avxvnni
#include "tinyblas_cpu_sgemm.inc" #include "tinyblas_cpu_sgemm.inc"
#endif // __x86_64__ #endif // __x86_64__
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// Copyrigth 2024 Mozilla Foundation. // Copyrigth 2024 Mozilla Foundation.
// Copyright(c) 2024 by KVCache.AI, All Rights Reserved. // Copyright(c) 2024 by KVCache.AI, All Rights Reserved.
#ifdef __x86_64__ #if defined(__x86_64__) || defined(_M_X64)
#define llamafile_sgemm llamafile_sgemm_amd_fma #define llamafile_sgemm llamafile_sgemm_amd_fma
#include "tinyblas_cpu_sgemm.inc" #include "tinyblas_cpu_sgemm.inc"
#endif // __x86_64__ #endif // __x86_64__
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// Copyrigth 2024 Mozilla Foundation. // Copyrigth 2024 Mozilla Foundation.
// Copyright(c) 2024 by KVCache.AI, All Rights Reserved. // Copyright(c) 2024 by KVCache.AI, All Rights Reserved.
#ifdef __x86_64__ #if defined(__x86_64__) || defined(_M_X64)
#define llamafile_sgemm llamafile_sgemm_amd_zen4 #define llamafile_sgemm llamafile_sgemm_amd_zen4
#define iqk_mul_mat iqk_mul_mat_zen4 #define iqk_mul_mat iqk_mul_mat_zen4
#include "tinyblas_cpu_sgemm.inc" #include "tinyblas_cpu_sgemm.inc"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment