Great question! Interesting answer actually.
Thermodynamics tells us that heat moves from a warmer body to a colder body, never the other direction. Colder bodies don’t add “cold” to a warmer body, they just take the heat.
The greater the temperature change, the faster this distribution of heat will take place.
Therefore, in a perfect setting, boiling water, or at least water warmer than the cold water, will melt the ice.
However, interesting science happens when an ice cube sits in warm water in a typical setting: when it’s in a pot of warm water that isn’t running or moving. All heat transfers take place on the surface of objects. So when the cube is placed in the water, the water will begin melting the outer surface of the ice. However, as it melts, it turns to cold water, colder than the warm water in the bowl. This cold water envelops the ice, creating an insulating layer. Therefore the heat from the water moves to this layer, instead of the ice. Then as that cold water sheath begins warming up, the ice will begin to melt a little more and replenish that sheath. The heat is now going through 2 steps to get to the ice.
This process greatly slows down the rate at which the ice melts, simply because the water is not flowing, but standing. So much so that ice cubes placed under running under colder water will melt faster.
Recap: The greater the temperature difference the faster the heat exchange. Moving hot water will melt ice faster than moving cold water. However, moving cold water will beat stagnant warm water.