summaryrefslogtreecommitdiff
path: root/examples/llama-bench/llama-bench.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/llama-bench/llama-bench.cpp')
-rw-r--r--examples/llama-bench/llama-bench.cpp35
1 files changed, 32 insertions, 3 deletions
diff --git a/examples/llama-bench/llama-bench.cpp b/examples/llama-bench/llama-bench.cpp
index a6497b6e..42918bfc 100644
--- a/examples/llama-bench/llama-bench.cpp
+++ b/examples/llama-bench/llama-bench.cpp
@@ -27,6 +27,14 @@
#include "ggml-cann.h"
#endif
+#ifdef _WIN32
+#define WIN32_LEAN_AND_MEAN
+#ifndef NOMINMAX
+# define NOMINMAX
+#endif
+#include <windows.h>
+#endif
+
// utils
static uint64_t get_time_ns() {
using clock = std::chrono::high_resolution_clock;
@@ -96,6 +104,27 @@ static std::string get_cpu_info() {
}
fclose(f);
}
+#elif defined(_WIN32)
+ HKEY hKey;
+ if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
+ TEXT("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0"),
+ 0,
+ KEY_READ,
+ &hKey) != ERROR_SUCCESS) {
+ // fail to open registry key
+ return "";
+ }
+ char cpu_brand[256];
+ DWORD cpu_brand_size = sizeof(cpu_brand);
+ if (RegQueryValueExA(hKey,
+ TEXT("ProcessorNameString"),
+ NULL,
+ NULL,
+ (LPBYTE)cpu_brand,
+ &cpu_brand_size) == ERROR_SUCCESS) {
+ id.assign(cpu_brand, cpu_brand_size);
+ }
+ RegCloseKey(hKey);
#endif
// TODO: other platforms
return id;
@@ -150,7 +179,7 @@ static const char * output_format_str(output_formats format) {
case JSON: return "json";
case MARKDOWN: return "md";
case SQL: return "sql";
- default: GGML_ASSERT(!"invalid output format");
+ default: GGML_ABORT("invalid output format");
}
}
@@ -176,7 +205,7 @@ static const char * split_mode_str(llama_split_mode mode) {
case LLAMA_SPLIT_MODE_NONE: return "none";
case LLAMA_SPLIT_MODE_LAYER: return "layer";
case LLAMA_SPLIT_MODE_ROW: return "row";
- default: GGML_ASSERT(!"invalid split mode");
+ default: GGML_ABORT("invalid split mode");
}
}
@@ -1326,7 +1355,7 @@ static std::unique_ptr<printer> create_printer(output_formats format) {
case SQL:
return std::unique_ptr<printer>(new sql_printer());
}
- GGML_ASSERT(false);
+ GGML_ABORT("fatal error");
}
int main(int argc, char ** argv) {