Hello Shweta,
This is a good question and you can approach multigpu support from a few different directions depending on your preferences and experience. The first way is to run cusp independently within each GPU and manually perform the inter-gpu copies using your own library or API calls. The second and possibly more involved but IMO cleaner way is to build your own custom backend for multigpus based on execution policies. The develop branch of Cusp is built around using execution policies as a flexible dispatching mechanism [1].
The first approach has more examples and documentation online so it should be easier to get started and implement the functionality you require. The second approach is newer and will require more understanding of how Thrust/Cusp use execution policies internally.
Steve