Device selection in cooperative multi-device launch

I don’t see a list of device ids in the arguments of
cudaLaunchCooperativeKernelMultiDevice(cudaLaunchParams* launchParamsList, …)

Does it choose devices based on what device launchParamsList[i].stream was created on?

Yes. Streams have an inherent device association.