homework for NCCL