Introduce support for CUDA streams
Need to downcast exec with derived_cast before calling stream().
Use cudaMemcpyAsync inside trivial_copy's implementation. For now, all host <-> device copies happen on stream 0
Add simple_cuda_streams example.
Eliminate superfluous <iostream>
Eliminate some warnings in normal_distribution_base.
If no minimum_system can be found, return a tuple of systems rather than issuing a compilation error.
Eliminate use of retag & reinterpret_tag in algorithm implementations.

Fixes #364364364
Avoid unwrapping wrapped references in transform_iterator's
implementation.

Fixes #379
Merge pull request #402 from jaredhoberock/issue-379

Avoid unwrapping wrapped references in transform_iterator's
Merge pull request #403 from jaredhoberock/issue-364

Issue 364
Integrate Bulk library beneath cuda::detail
Integrate improved bulk-based reduce implementation

Fixes #398
Update to latest bulk
Mark the reduce_large tests as KNOWN_FAILUREs for now
Merge pull request #405 from jaredhoberock/bulk

Integrate Bulk reduce implementation
Check for unified addressing support in fallback_allocator example.

Fixes #406
Merge pull request #407 from jaredhoberock/fallback_allocator

Check for unified addressing support in fallback_allocator example.
Update to latest Bulk
Correctly push/pop Bulk macros instead of trying to undefine and then redefine them.
Integrate Bulk-based implementation of CUDA for_each.

Fixes #404
Update to latest Bulk
Update to latest Bulk