First cut at cuda support