I am kind of new to gradient checkpointing so my questions may be silly

Did you check your gradient of parameters after running loss.backward() ?
Can you please share the elaborated code (If possible), so that I can run and try to see what is the issue ?