parallel gpu code moved to a separtae file