GPU programming – When. Why. How. (Day 1)