splitting source files into cpu and gpu versions