@@ -181,13 +181,14 @@ static struct ggml_cgraph * build_graph_piter(
181
181
b_tensor,
182
182
ggml_sqrt_inplace (ctx0, ggml_sum_rows (ctx0, ggml_sqr (ctx0, b_tensor)))
183
183
);
184
- ggml_set_name (b_tensor, ( " b_tensor_norm_" + std::to_string (i)). c_str () );
184
+ ggml_format_name (b_tensor, " b_tensor_norm_%d " , i );
185
185
186
186
// calculate distance(new eigenvector - old eigenvector)
187
+ // we don't use ggml_sub because it may not be implemented on GPU backend
187
188
struct ggml_tensor * new_sub_old = ggml_add (ctx0, old_eigen, ggml_scale (ctx0, b_tensor, -1 ));
188
189
distance = ggml_sqrt_inplace (ctx0,
189
190
ggml_sum_rows (ctx0, ggml_sqr_inplace (ctx0, new_sub_old)));
190
- ggml_set_name (distance, ( " distance_" + std::to_string (i)). c_str () );
191
+ ggml_format_name (distance, " distance_%d " , i );
191
192
192
193
old_eigen = b_tensor;
193
194
@@ -317,22 +318,20 @@ static void run_pca(
317
318
struct pca_params & params,
318
319
const std::vector<struct ggml_tensor *> & v_input, // shape of v_input[0]: [n_samples, n_embd]
319
320
const std::vector<struct ggml_tensor *> & v_output) {
320
- printf (" Running PCA...\n " );
321
+ printf (" %s: Running PCA...\n " , __func__ );
321
322
for (size_t il = 0 ; il < v_input.size (); ++il) {
322
323
323
324
// prepare output vector
324
325
struct ggml_tensor * ctrl_out = v_output[il];
325
- auto name = std::string (" direction." ) + std::to_string (il + 1 );
326
- ggml_set_name (ctrl_out, name.c_str ());
326
+ ggml_format_name (ctrl_out, " direction.%ld" , il+1 );
327
327
328
328
// run power_iteration
329
329
params.i_layer = il;
330
330
params.n_layers = v_input.size ();
331
331
power_iteration (params, v_input[il], ctrl_out);
332
- printf (" DONE layer %ld / %ld\n " , il+1 , v_input.size ());
332
+ printf (" %s: Done layer %ld / %ld\n " , __func__ , il+1 , v_input.size ());
333
333
// print_debug_tensor(ctrl_out);
334
334
}
335
- printf (" Done with PCA.\n " );
336
335
}
337
336
338
337
}
0 commit comments