Print system information

This commit is contained in:
Georgi Gerganov 2023-03-13 19:15:08 +02:00
parent ed6849cc07
commit 4497ad819c
No known key found for this signature in database
GPG Key ID: 449E073F9DC10735

View File

@ -765,6 +765,26 @@ void sigint_handler(int signo) {
} }
#endif #endif
const char * llama_print_system_info(void) {
static std::string s;
s = "";
s += "AVX = " + std::to_string(ggml_cpu_has_avx()) + " | ";
s += "AVX2 = " + std::to_string(ggml_cpu_has_avx2()) + " | ";
s += "AVX512 = " + std::to_string(ggml_cpu_has_avx512()) + " | ";
s += "FMA = " + std::to_string(ggml_cpu_has_fma()) + " | ";
s += "NEON = " + std::to_string(ggml_cpu_has_neon()) + " | ";
s += "ARM_FMA = " + std::to_string(ggml_cpu_has_arm_fma()) + " | ";
s += "F16C = " + std::to_string(ggml_cpu_has_f16c()) + " | ";
s += "FP16_VA = " + std::to_string(ggml_cpu_has_fp16_va()) + " | ";
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 += "VSX = " + std::to_string(ggml_cpu_has_vsx()) + " | ";
return s.c_str();
}
int main(int argc, char ** argv) { int main(int argc, char ** argv) {
ggml_time_init(); ggml_time_init();
const int64_t t_main_start_us = ggml_time_us(); const int64_t t_main_start_us = ggml_time_us();
@ -807,6 +827,13 @@ int main(int argc, char ** argv) {
t_load_us = ggml_time_us() - t_start_us; t_load_us = ggml_time_us() - t_start_us;
} }
// print system information
{
fprintf(stderr, "\n");
fprintf(stderr, "system_info: n_threads = %d / %d | %s\n",
params.n_threads, std::thread::hardware_concurrency(), llama_print_system_info());
}
int n_past = 0; int n_past = 0;
int64_t t_sample_us = 0; int64_t t_sample_us = 0;
@ -834,7 +861,7 @@ int main(int argc, char ** argv) {
struct sigaction sigint_action; struct sigaction sigint_action;
sigint_action.sa_handler = sigint_handler; sigint_action.sa_handler = sigint_handler;
sigemptyset (&sigint_action.sa_mask); sigemptyset (&sigint_action.sa_mask);
sigint_action.sa_flags = 0; sigint_action.sa_flags = 0;
sigaction(SIGINT, &sigint_action, NULL); sigaction(SIGINT, &sigint_action, NULL);
#endif #endif
@ -967,7 +994,7 @@ int main(int argc, char ** argv) {
is_interacting = true; is_interacting = true;
} }
if (is_interacting) { if (is_interacting) {
// currently being interactive // currently being interactive
bool another_line=true; bool another_line=true;
while (another_line) { while (another_line) {
fflush(stdout); fflush(stdout);
@ -999,7 +1026,7 @@ int main(int argc, char ** argv) {
input_noecho = true; // do not echo this again input_noecho = true; // do not echo this again
} }
is_interacting = false; is_interacting = false;
} }
} }