Unverified Commit 11544ef2 authored by UnicornChan's avatar UnicornChan Committed by GitHub
Browse files

Merge pull request #25 from kvcache-ai/windows

Windows Support
parents 442e13bc 0e613b60
...@@ -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_avx #define llamafile_mixmul llamafile_mixmul_amd_avx
#include "tinyblas_cpu_mixmul.inc" #include "tinyblas_cpu_mixmul.inc"
......
...@@ -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