mirror of
https://github.com/Lizonghang/prima.cpp.git
synced 2025-09-10 03:34:34 +00:00
add cpu and gpu profile
This commit is contained in:
parent
4e1be1065d
commit
407c71ae52
6 changed files with 113 additions and 16 deletions
|
@ -843,15 +843,50 @@ struct llama_init_result llama_init_from_gpt_params(gpt_params & params) {
|
|||
uint64_t available_swap = profiler::device_swap_memory(true);
|
||||
uint64_t disk_read_bw = profiler::device_disk_read_bw(params.model.c_str(), 500);
|
||||
uint64_t memory_bw = profiler::device_memory_bw(500);
|
||||
int has_metal = profiler::device_has_metal();
|
||||
int has_cuda = profiler::device_has_cuda();
|
||||
int has_vulkan = profiler::device_has_vulkan();
|
||||
int has_kompute = profiler::device_has_kompute();
|
||||
int has_gpublas = profiler::device_has_gpublas();
|
||||
int has_blas = profiler::device_has_blas();
|
||||
int has_sycl = profiler::device_has_sycl();
|
||||
ggml_backend_dev_props cpu_props;
|
||||
ggml_backend_dev_props gpu_props;
|
||||
profiler::device_get_props(model, -1, &cpu_props); // -1 for cpu
|
||||
profiler::device_get_props(model, 0, &gpu_props); // 0 for gpu0
|
||||
|
||||
LOG_INF("Device Name: %s\n", dev_name);
|
||||
LOG_INF("Number of CPU cores: %u\n", n_cpu_cores);
|
||||
LOG_INF("Total Physical Memory: %.2f GB\n", total_memory / (double)(1 << 30));
|
||||
LOG_INF("Available Physical Memory: %.2f GB\n", available_memory / (double)(1 << 30));
|
||||
LOG_INF("Total Swap Memory: %.2f GB\n", total_swap / (double)(1 << 30));
|
||||
LOG_INF("Available Swap Memory: %.2f GB\n", available_swap / (double)(1 << 30));
|
||||
LOG_INF("Disk Read Bandwidth: %.2f GB/s\n", disk_read_bw / (double)(1 << 30));
|
||||
LOG_INF("Memory Bandwidth: %.2f GB/s\n", memory_bw / (double)(1 << 30));
|
||||
LOG_INF("\n");
|
||||
LOG_INF("Device Info:\n");
|
||||
LOG_INF(" Device Name : %s\n", dev_name);
|
||||
LOG_INF(" CPU Name : %s\n", cpu_props.name);
|
||||
LOG_INF(" CPU Description : %s\n", cpu_props.description);
|
||||
LOG_INF(" Number of CPU cores : %u\n", n_cpu_cores);
|
||||
LOG_INF(" Disk Read Bandwidth : %.2f GB/s\n", disk_read_bw / (double)(1 << 30));
|
||||
LOG_INF("\n");
|
||||
|
||||
LOG_INF("Memory Information:\n");
|
||||
LOG_INF(" Physical Mem Total : %.2f GB\n", total_memory / (double)(1 << 30));
|
||||
LOG_INF(" Physical Mem Available : %.2f GB\n", available_memory / (double)(1 << 30));
|
||||
LOG_INF(" Swap Memory Total : %.2f GB\n", total_swap / (double)(1 << 30));
|
||||
LOG_INF(" Swap Memory Available : %.2f GB\n", available_swap / (double)(1 << 30));
|
||||
LOG_INF(" Mem Bandwidth : %.2f GB/s\n", memory_bw / (double)(1 << 30));
|
||||
LOG_INF("\n");
|
||||
|
||||
LOG_INF("GPU Support:\n");
|
||||
LOG_INF(" Metal : %i\n", has_metal);
|
||||
LOG_INF(" CUDA : %i\n", has_cuda);
|
||||
LOG_INF(" Vulkan : %i\n", has_vulkan);
|
||||
LOG_INF(" Kompute : %i\n", has_kompute);
|
||||
LOG_INF(" GPU BLAS : %i\n", has_gpublas);
|
||||
LOG_INF(" BLAS : %i\n", has_blas);
|
||||
LOG_INF(" SYCL : %i\n", has_sycl);
|
||||
LOG_INF("\n");
|
||||
|
||||
LOG_INF("GPU Properties:\n");
|
||||
LOG_INF(" GPU Name : %s\n", gpu_props.name);
|
||||
LOG_INF(" Description : %s\n", gpu_props.description);
|
||||
LOG_INF(" Memory Free : %d MB\n", (int)(gpu_props.memory_free / (double)(1 << 20)));
|
||||
LOG_INF(" Memory Total : %.2f GB\n", gpu_props.memory_total / (double)(1 << 30));
|
||||
|
||||
if (model == NULL) {
|
||||
LOG_ERR("%s: failed to load model '%s'\n", __func__, params.model.c_str());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue