“What I cannot create I do not understand” - This is why I started Penny, my own version of NCCL. If you want to read about it, there is a worklog on my blogpost where I describe a step by step process of creating it