Collision detection between a complex solid and a particle cloud assisted by programmable GPU