Explorar o código

ggml : detect SSSE3 (#2825)

* ggml : add ggml_cpu_has_ssse3

* llama : show SSSE3 in system info
Przemysław Pawełczyk %!s(int64=2) %!d(string=hai) anos
pai
achega
1591e2e590
Modificáronse 3 ficheiros con 10 adicións e 0 borrados
  1. 8 0
      ggml.c
  2. 1 0
      ggml.h
  3. 1 0
      llama.cpp

+ 8 - 0
ggml.c

@@ -20516,6 +20516,14 @@ int ggml_cpu_has_sse3(void) {
 #endif
 }
 
+int ggml_cpu_has_ssse3(void) {
+#if defined(__SSSE3__)
+    return 1;
+#else
+    return 0;
+#endif
+}
+
 int ggml_cpu_has_vsx(void) {
 #if defined(__POWER9_VECTOR__)
     return 1;

+ 1 - 0
ggml.h

@@ -1944,6 +1944,7 @@ extern "C" {
     GGML_API int ggml_cpu_has_clblast    (void);
     GGML_API int ggml_cpu_has_gpublas    (void);
     GGML_API int ggml_cpu_has_sse3       (void);
+    GGML_API int ggml_cpu_has_ssse3      (void);
     GGML_API int ggml_cpu_has_vsx        (void);
 
     //

+ 1 - 0
llama.cpp

@@ -6194,6 +6194,7 @@ const char * llama_print_system_info(void) {
     s += "WASM_SIMD = "   + std::to_string(ggml_cpu_has_wasm_simd())   + " | ";
     s += "BLAS = "        + std::to_string(ggml_cpu_has_blas())        + " | ";
     s += "SSE3 = "        + std::to_string(ggml_cpu_has_sse3())        + " | ";
+    s += "SSSE3 = "       + std::to_string(ggml_cpu_has_ssse3())       + " | ";
     s += "VSX = "         + std::to_string(ggml_cpu_has_vsx())         + " | ";
 
     return s.c_str();