Просмотр исходного кода

use pause asm insn in busyloop to run the CPU (13600K) 10 °C cooler (#1314)

* use pause asm insn in busyloop to run the CPU (13600K) 10 °C cooler

Tested with a 13B model.

* use _mm_pause() in busyloop

* use _mm_pause() in busyloop on x86_64 to reduce power consumption
Sami Farin 2 лет назад
Родитель
Сommit
9f8dbc4787
1 измененных файлов с 4 добавлено и 0 удалено
  1. 4 0
      ggml.c

+ 4 - 0
ggml.c

@@ -11663,7 +11663,11 @@ typedef int ggml_lock_t;
 
 #define ggml_lock_init(x)    UNUSED(x)
 #define ggml_lock_destroy(x) UNUSED(x)
+#if defined(__x86_64__) || (defined(_MSC_VER) && defined(_M_AMD64))
+#define ggml_lock_lock(x)    _mm_pause()
+#else
 #define ggml_lock_lock(x)    UNUSED(x)
+#endif
 #define ggml_lock_unlock(x)  UNUSED(x)
 
 #define GGML_LOCK_INITIALIZER 0