@@ -1620,8 +1620,6 @@ int main(int argc, char ** argv) {
1620
1620
opt->params .adam .gclip = params.common .adam_gclip ;
1621
1621
opt->params .adam .eps_f = params.common .adam_eps_f ;
1622
1622
1623
- ggml_allocr * alloc = NULL ;
1624
-
1625
1623
printf (" %s: init model\n " , __func__);
1626
1624
bool existed = load_checkpoint_lora_file (params.common .fn_checkpoint_in , &model, &lora, train);
1627
1625
@@ -1725,10 +1723,9 @@ int main(int argc, char ** argv) {
1725
1723
1726
1724
// allocate input tensors
1727
1725
mem_input_data.resize (max_input_size);
1728
- alloc = ggml_allocr_new (mem_input_data.data (), mem_input_data.size (), tensor_alignment);
1729
- ggml_allocr_alloc (alloc, tokens_input);
1730
- ggml_allocr_alloc (alloc, target_probs);
1731
- ggml_allocr_free (alloc);
1726
+ ggml_allocr_t alloc_inps = ggml_allocr_new (mem_input_data.data (), mem_input_data.size (), tensor_alignment);
1727
+ ggml_allocr_alloc (alloc_inps, tokens_input);
1728
+ ggml_allocr_alloc (alloc_inps, target_probs);
1732
1729
1733
1730
// context for compute tensors without their data
1734
1731
const size_t estimated_compute_size_wo_data = (
@@ -1755,7 +1752,7 @@ int main(int argc, char ** argv) {
1755
1752
// find best evaluation order
1756
1753
for (unsigned order = 0 ; order < (unsigned ) GGML_CGRAPH_EVAL_ORDER_COUNT; ++order) {
1757
1754
ctx_compute = ggml_init (ctx_compute_params);
1758
- alloc = ggml_allocr_new_measure (tensor_alignment);
1755
+ ggml_allocr_t alloc = ggml_allocr_new_measure (tensor_alignment);
1759
1756
gf = ggml_new_graph_custom (ctx_compute, LLAMA_TRAIN_MAX_NODES, true );
1760
1757
gf->order = (enum ggml_cgraph_eval_order) order;
1761
1758
gb = ggml_new_graph_custom (ctx_compute, LLAMA_TRAIN_MAX_NODES, true );
@@ -1788,7 +1785,7 @@ int main(int argc, char ** argv) {
1788
1785
// allocate compute tensors
1789
1786
mem_compute_data.resize (max_compute_size);
1790
1787
ctx_compute = ggml_init (ctx_compute_params);
1791
- alloc = ggml_allocr_new (mem_compute_data.data (), mem_compute_data.size (), tensor_alignment);
1788
+ ggml_allocr_t alloc = ggml_allocr_new (mem_compute_data.data (), mem_compute_data.size (), tensor_alignment);
1792
1789
gf = ggml_new_graph_custom (ctx_compute, LLAMA_TRAIN_MAX_NODES, true );
1793
1790
gf->order = best_order;
1794
1791
gb = ggml_new_graph_custom (ctx_compute, LLAMA_TRAIN_MAX_NODES, true );
@@ -1804,6 +1801,8 @@ int main(int argc, char ** argv) {
1804
1801
params.common .use_checkpointing
1805
1802
);
1806
1803
ggml_allocr_free (alloc);
1804
+ ggml_allocr_free (alloc_inps);
1805
+
1807
1806
1808
1807
// tokenize data
1809
1808
std::vector<llama_token> train_tokens;
0 commit comments