Much faster GPU implementation