From 27ccf0b595c30b71fce014e7d32df95c97bfcf6c Mon Sep 17 00:00:00 2001 From: Andrej Karpathy Date: Mon, 15 Apr 2024 22:20:44 +0000 Subject: [PATCH] fix bugs, must use size_t instead of int, this was bad. and also init cpu_losses to NULL if we want to free it later --- train_gpt2.c | 4 ++-- train_gpt2.cu | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/train_gpt2.c b/train_gpt2.c index 40878b4..6449e2b 100644 --- a/train_gpt2.c +++ b/train_gpt2.c @@ -560,7 +560,7 @@ typedef struct { ParameterTensors params; size_t param_sizes[NUM_PARAMETER_TENSORS]; float* params_memory; - int num_parameters; + size_t num_parameters; // gradients of the weights ParameterTensors grads; float* grads_memory; @@ -571,7 +571,7 @@ typedef struct { ActivationTensors acts; size_t act_sizes[NUM_ACTIVATION_TENSORS]; float* acts_memory; - int num_activations; + size_t num_activations; // gradients of the activations ActivationTensors grads_acts; float* grads_acts_memory; diff --git a/train_gpt2.cu b/train_gpt2.cu index b265389..dd154cb 100644 --- a/train_gpt2.cu +++ b/train_gpt2.cu @@ -740,7 +740,7 @@ typedef struct { ParameterTensors params; size_t param_sizes[NUM_PARAMETER_TENSORS]; float* params_memory; - int num_parameters; + size_t num_parameters; // gradients of the weights ParameterTensors grads; float* grads_memory; @@ -751,7 +751,7 @@ typedef struct { ActivationTensors acts; size_t act_sizes[NUM_ACTIVATION_TENSORS]; float* acts_memory; - int num_activations; + size_t num_activations; // gradients of the activations ActivationTensors grads_acts; float* grads_acts_memory; @@ -833,6 +833,7 @@ void gpt2_build_from_checkpoint(GPT2 *model, const char* checkpoint_path) { model->grads_acts_memory = NULL; model->inputs = NULL; model->targets = NULL; + model->cpu_losses = NULL; model->batch_size = 0; model->seq_len = 0; model->mean_loss = -1.0f; // -1.0f will designate no loss