2026年10月31日土曜日

llama.cpp serverのsyclの集計

昨日serverで動かしてデバッグログを出力させたまま、チャットしてたら気づいたら6056252331バイトのファイルが出来上がっていました…w

とりあえず、集計スクリプトを実行して試したところ… 

 14396456
11634209 ggml_sycl_compute_forward:
11627529 ggml_sycl_compute_forward
5225900 ggml_sycl_mul_mat:
5225900 ggml_sycl_mul_mat
3488154 adjustment_local
1704095 ggml_sycl_mul:
1704095 ggml_sycl_mul
1323366 ggml_sycl_rope:
1323366 ggml_sycl_rope
 962448 ggml_sycl_op_set_rows:
 962448 ggml_sycl_op_set_rows
 842022 ggml_sycl_gelu:
 842022 ggml_sycl_gelu
 835462 ggml_sycl_mul_mat_glu_dmmv_esimd:
 835462 ggml_sycl_mul_mat_glu_dmmv_esimd
 653752 ggml_backend_sycl_device_supports_op
 513782 ggml_backend_sycl_buffer_init_tensor:
 481224 ggml_sycl_rms_norm:
 481224 ggml_sycl_rms_norm
 480785 [SYCL]
 480492 ggml_backend_sycl_synchronize
 281312 ggml_backend_sycl_buffer_set_tensor:
 100015 ggml_sycl_scale:
 100015 ggml_sycl_scale
  59793 ggml_sycl_get_rows:
  59793 ggml_sycl_get_rows
  39982 ggml_sycl_add:
  39982 ggml_sycl_add
  31341 ggml_sycl_op_mul_mat_sycl/to_fp32_sycl:
  31341 ggml_sycl_op_mul_mat_sycl/to_fp32_sycl
  22579 ggml_sycl_op_mul_mat/quantize_row_q8_1_sycl:
  22579 ggml_sycl_op_mul_mat/quantize_row_q8_1_sycl
  20088 call
  20051 ggml_sycl_dup:
  20051 ggml_sycl_dup
  20051 ggml_sycl_cpy:
  20051 ggml_sycl_cpy
  20051 ggml_backend_sycl_graph_compute_impl
  19931 ggml_sycl_tanh:
  19931 ggml_sycl_tanh
  19931 ggml_backend_sycl_get_tensor_async:
   6560 ggml_sycl_geglu:
   6560 ggml_sycl_geglu
   5288 ggml_backend_sycl_buffer_get_tensor:
    733 ggml_backend_sycl_host_buffer_type_for_device
    273 ggml_backend_sycl_buffer_reset
    245 WaitForSubmit
    160 ggml_cpy_f32_f32_sycl
    160 convert_unary_nc_sycl
     26 ggml_backend_sycl_device_get_memory
     13 query_free_memory_by_ze:
     13 get_zes_init_res:
      8 ggml_backend_sycl_buffer_clear:
      5 ggml_backend_sycl_buffer_type_alloc_buffer:
      4 ggml_backend_sycl_reg
      3 ggml_backend_sycl_host_malloc
      2 ggml_backend_sycl_init.
      1 ggml_sycl_init
      1 ggml_check_sycl
      1 ggml_backend_sycl_print_sycl_devices
      1 ggml_backend_sycl_buffer_set_tensor463.00.496.321
結構それなりのいい(?)感じに出力されました。(集計時間はどのくらいかかったのかわかりませんがw)

で、移動中にじっくりと見てたら、scaleの呼び出しがなんか引っかかるので先日のstable-diffusion.cppの実行で出力した方を見るとそちらはscale_f32_syclのみ出力されていて、llama.cpp側はggml_sycl_scaleのみ出力されている状態。

これらの関連は

ggml_sycl_scale→ggml_sycl_op_scale→scale_f32_sycl

と言った形で呼び出されているだけなので、必ず同じ(もしくは複数関数名を含めて出力していた場合は、その回数分倍化している) 個数が出力されていてもいいのですが、どうもうまくカウントされていない…まぁスクリプト自体、変更しているので、同じ状態ではないのですが、実に気持ち悪い…w

おかげで移動中にソースを見ながら何度も確認する羽目に… PCで作業すればすぐ分かるんですけど、スマホだとえらく手間取りすぎ…

githubのweb上では、ログインしてないとリポジトリ内の検索ができない事実を知りました(笑)

最初、モバイル表示になっているためにサーチボックスが無いのかと思って右往左往して、さらに普段はfirefoxしか使ってないのにchromeを起動して、何やら使い方が全く分からなくてurlを入力するだけでもすごい手間取ったりして、散々でした…。

そもそもアプリのソースビュワーが使い勝手悪すぎでしょ…って思います。

ログファイル自体想定通り出力されているので集計スクリプトがダメなんだと思います。awk良く分からないけど、ちょっと頑張ってみるか…w 

0 件のコメント:

コメントを投稿