Notes for learning gpu programming